php数据库编程(mysql mysqli pdo) - Go语言中文社区

php数据库编程(mysql mysqli pdo)


php有三种方式来操作mysql数据库
1.mysql扩展库
mysqli扩展库
pdo

mysql扩展库和mysql数据库
mysql扩展库:已经有方法直接操作数据库
mysql数据库:用于存放数据
mysql数据库的三层结构示意图

使用php的mysql扩展库完成对mysql操作的案例
编写一个程序,这个程序从userl表中读取数据,并打印在网页中
1.环境搭建
1.1启用mysql扩展库
在php.ini中进行配置
extension=php_mysql.dll;
可以通过
<?php
phpinfo()可以查看当前php支持什么扩展库
?>
1.2创建一张用户表(int 有符号 )char (12) 固定的空间varchar(12)可变的空间unsigned无符号的not null表示非空
create table user1(){
id int primary key auto_increment,
name varchar(32)not null;
paddword varchar(64) not null;
email varchar(128) not null;
age tinyint unsigned notnull;
}
模拟数据 名字,密码
insert into user1 (name,paddword,age) values('zs',md5('123'),'zs@sohu.con',30);
show variables like
delete user1 where val=9;
2.编写php程序完成对用户表的显示
mysql扩展库操作mysql数据库的步骤:
//步骤:1获取一个连接(php程序和数据库之间的连接)2.选择数据库3.设置操作编码(建议)4.发送指令sql(ddl数据定义语句,dml数据操作语言update insert delete,dq1(select),dt1数据事务语句rollback commit)5.接收返回的结果并处理6.释放资源,关闭连接
1获取一个连接
$conn=mysql_connect("127.0.0.1","root","root");
if(!$conn){
die("连接失败"。mysql_error())
}
2.选择数据库
mysql_select_db("test");
$sql="select *from user1";
$res=mysql_query($sql,$conn);发送sql语句
//5.接收返回的结果并处理
//mysql_fetch_row($res)返回下一行数据,赋值给$row,$row就是一个数组

while($row=mysql_fetch_row($res)){
echo "</br> $row[0]--$row[1]---$row[2]"--第一种取法
foreach($row as $key=>$val){
echo "--$val";
}第二种取法
echo "</br>";
6.释放资源,关闭连接
mysql_free_result($res);
mydql_close($conn);-----关闭资源,可有可无,可自动关闭
}

查在哪个表select *from url1;show tables

细节:
1.使用完$res结果集后一定要及时释放资源
2.mysql_close()如果没有系统会自动关闭
3.从$res获取行数据的时候,处理mysql_fetch_row($res)还有三个方法
分别是
mysql_fetch_row($res)返回一个索引数组
mysql_fetch_assoc($res)返回一个关联数组,包括id在内
mysql_fetch_array($res)返回索引数组和关联数组(两套)
mysql_fetch_object($res)把一行数据当做一个对象返回

演示对user1表进行增删除 修改的操作
$conn=mysql_connect("localhost","root","root");
if(!$conn){
die("chu cuo l ",mysql_error());
}
mysql_select_db("test",$conn) or die(mysql_erroe());
mysql_query("set names utf8");
$sql="insert into user1 (name,password,email,age) values("xiaoming",md5("123"),"xiaoming@sohu.com",34)
$res=mysql_query($sql,$conn);-------布尔值
if(!$res){
die("操作失败".mysql_error());

}
if(mysql_affected_rows($conn)>0){
echo "操作成功"
}else{
echo "没有影响到行数";
}
mysql_close($conn);

mysqlHelp
class SqlTool{
private $coon;
private $host="localhost";
private $user="root";
private $password="root";
private $db="test";
function SqlTool(){
$this->coon=mysql_connect($this->host,$this->user,$this->password);
if(!$this->conn){
die("连接数据库失败".mysql_error);
}
mysql_select_db($this->db,$this->conn);
mysql_query("set names urf8");
}
完成查询任务
function execute_dql($sql){
$res=mysql_query($sql) or die();
return $res;
}
function execute_dml($sql){
$b=mysql_query($sql,$this->conn);
if(!$b){
return 0;失败
}else{
if(mysql_affected_rows($this->conn)>0){
return 1; "操作成功"
}else{
return 2;"没有影响到行数";
}
}
}
}
使用mysql_query()方法完成数据添加操作
$sql="insert into user( ... ) value (.....)";
$res=mysql_query($sql);
if($res){
echo "失败了".mysql_error();
}
if(mysql_affected_rows($conn)>0){
echo "执行成功";
}else{
echo "没有任何记录改变";
}

使用mysql_query()方法完成数据更新操作,
$sql="update user set name=‘’ where name=''";
$res=mysql_query($sql);
if($res){
echo "失败了".mysql_error();
}
if(mysql_affected_rows($conn)>0){
echo "执行成功";
}else{
echo "没有任何记录改变";
}

使用mysql_query()方法完成数据删除操作,
$sql="delete from user where id=1;
$res=mysql_query($sql);
if($res){
echo "失败了".mysql_error();
}
if(mysql_affected_rows($conn)>0){
echo "执行成功";
}else{
echo "没有任何记录改变";
}

使用mysql_query()方法完成数据查询操作,
$sql="select * from user where id=1;
$res=mysql_query($sql);
while($row=mysql_fetch_assoc($res)){
foreach($row as $colVal){
echo $colVal."||";
}
}
创建一个hsp的 数据库
$sql="create database hsp"
删除数据库
$sql="drop database hsp"
编写一个函数,可以接受一个表名,然后把表的头和记录显示在网页上
mysql_fetch_field从结果中取得列信息并
function show_tab_info($table_name){
$conn=mysql_connect("localhost","root","root");
if(!$conn){
die("连接失败".mysql_error());
}
mysql_select_db("test",$conn);
mysql_query("set names utf8");
$sql="select * from $table_name";
$res=mysql_query($sql,$conn);
一共多少行多少列
$rows=mysql_affected_rows($conn);
$colums=mysql_num_field($res);
echo "$rows=$colums;
echo "<table border=1><tr>";

for($i=0;$i<$colums;$i++){
$field_name=mysql_field_name($res,$i);
echo "<th>$field_name</th>";
}
echo "</tr>";
while($row=mysql_fetch_row($res)){
echo "<tr>";
for($i=0;$i<$colums;$i++){
echo "<td>$row[$i]</td>";
}
}
echo "</table>";
while($field_info=mysql_fetch_field($res)){
echo "</br>".$field_info->name;
};
var_dump($field_info);
}
show_tab_info("user1")

版权声明:本文来源简书,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.jianshu.com/p/3d5db33c7ef9
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-01-12 13:23:51
  • 阅读 ( 859 )
  • 分类:数据库

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢