数据库操作过程
1) 打开cmd客户端
2)输入命令:mysql -hlocalhost -uroot -p 回车:输入密码
3)选择数据库
4)查看库中的表,对表进行增删改查
5)退出
PHP连接mysql步骤
PHP作为连接数据库的客户端,也像cmd那样需要命令和步骤帮我们连接mysql,只不过这些命令都
是PHP函数提供了。
PHP连接mysql共有8步。
1 <?php2
3 //1.连接数据库
4 $link=mysqli_connect('localhost','root','');5 //var_dump($link);6 //2.判断错误7 // echo mysqli_connect_error($link);8 // echo mysqli_connect_errno($link);
9 if(mysqli_connect_errno($link)>0){10 echo mysqli_connect_error($link);exit;11 //echo '你报错了';exit;12 //3.选择数据库
13 mysqli_select_db($link,'test');14 //4.选择字符集
15 mysqli_set_charset($link,'utf8');16 //5.准备sql语句17 //$sql="SELECT id,name,sex,age,city FROM info";
18 $sql= "INSERT INTO info(name,sex,age,city) VALUES(null,'宁宁',34,1,'郑州')";19 //6.发送sql语句
20 $result = mysqli_query($link,$sql);21 //$result = mysqli_query($link,"SELECT id,name,sex,age,city FROM info");
22 var_dumP($result);23 //7.处理结果集24 //var_dump(mysqli_num_rows($result));
25 var_dump(mysqli_affected_rows($link));26 //8.关闭数据库
27 mysqli_close($link);
八步函数说明:
1. 连接数据库函数
mysqli_connect(主机名,用户名,密码)
返回值是我们一个连接的对象 如果连接失败 报错并且返回false
2. 判断错误
mysqli_connect_error(连接对象
错误信息 返回错误信息
mysqli_connect_errno(连接对象)
错误号 0 代表连接成功没有错误
3. 选择数据库函数
mysqli_select_db(连接对象,要选择的数据库名)
如果选择成功返回true 否则返回false
4. 选择字符集
mysqli_set_charset(连接对象,要选择的字符集)
如果选择成功返回true 否则返回false
5. 发送sql语句
myqli_query(连接对象,要发送的sql语句);
成功得到一个结果集对象 失败返回false
6. 处理结果
6.1 获取条目数
a. mysqli_num_rows(结果集对象)
用来获取查询得到的记录条数
仅对select有效
b. mysqli_affected_rows(连接对象
前一次mysql操作的受影响行数,就是影响了几行
类型 INSERT UPDATE DELETE操作使用
返回值 大于0的整数成功 -1 执行失败
6.2 获取查询的结果集的内容
1.mysqli_fetch_array(结果集对象) 将查询的结果以混合数组的形式返回
一次返回一条
2.mysqli_fetch_row(结果集对象) 将查询的结果以索引数组的形式返回
一次返回一条
3.mysqli_fetch_assoc(结果集对象) 将查询的结果以关联数组的形式返回
一次返回一条
6.3 获取上一次插入的id
mysqli_insert_id(连接对象)
将上一次插入的数据id返回
7. 关闭数据库
mysqli_close(连接对象)
关闭数据库
结果集处理函数
mysqli_num_rows()
mysqli_fetch_assoc()
mysqli_fetch_row()
mysqli_fetch_array()
1 //1.
2 $link = mysqli_connect('localhost','root','');3 //2
4 if(mysqli_connect_errno($link)>0){5 echo mysqli_connect_error($link);exit;6 }//3.
7 mysqli_select_db($link,'test');8 //4.
9 mysqli_set_charset($link,'utf8');10 //5.
11 $sql="SELECT id,name,sex,age,city FROM info";12 //6.
13 $result = mysqli_query($link,$sql);14 //7.
15 var_dump(mysqli_num_rows($result));16 //var_dump(mysqli_fetch_array($result));17 // var_dump(mysqli_fetch_row($result));18 // var_dump(mysqli_fetch_assoc($result));
19 while($row = mysqli_fetch_assoc($result)){20 var_dump($row['age']);21 } //8.
22 mysqli_close($link);
利用mysqli_fetch_assoc() 生成表格
1 <?php2 //1.
3 $link=mysqli_connect('localhost','root','');4 //2.
5 if(mysqli_connect_errno($link)>0){6 echo mysqli_connect_error($link);exit;7 } //3.
8 mysqli_select_db($link,'test');9 //4.mysqli_set_charset($link,'utf8');10 //5.
11 $sql="SELECT id,name,sex,age,city FROM info";12 //6.
13 $result = mysqli_query($link,$sql);14 //7.
15 if($result && mysqli_num_rows($result)>0){16 echo '
编号 | 姓名 | 年龄 | 性别 | 城市 |
'.$row['id'].' | '.$row['name'].' | '.$row['age'].' | '.$row['sex'].' | '.$row['city'].' |
36 mysqli_close($link);
表格生成进化版:
<?php $link = mysqli_connect('localhost','root','123456');if(mysqli_connect_errno($link)>0){echo mysqli_connect_error($link);exit;
}mysqli_select_db($link,'test');
mysqli_set_charset($link,'utf8');$sql="SELECT id,name,sex,age,city FROM info";$result = mysqli_query($link,$sql);if($result && mysqli_num_rows($result)>0){$userlist = array();while($row = mysqli_fetch_assoc($result)){//var_dump($row);
$userlist[]=$row;
} }//var_dump($userlist);exit;
$i=1;?>
Document编号 | 姓名 | 年龄 | 性别 | 城市 |
/ <?php foreach($userlist as $value):
//var_dump($value);?>
<?php echo $i++;?><?php echo $value['name'];?><?php echo $value['age'];?><?php echo $value['sex'];?><?php echo $value['city'];?>mysqli_insert_id() 返回上次insert操作返回的id
1 <?php2 $link = mysqli_connect('localhost','root','123456');3 if(mysqli_connect_errno($link)>0){4 echo mysqli_connect_error($link);exit;5 } mysqli_select_db($link,'test');6 mysqli_set_charset($link,'utf8');7 $sql="INSERT INTO info(id,name,sex,age,city) VALUES(NULL,'鼎鼎',0,38,'成8 都')";9 $result = mysqli_query($link,$sql);10 if($result && mysqli_affected_rows($link)>0){11 echo mysqli_insert_id($link);12 echo '插r入成功';13 }else{14 echo '插不进去';15 } mysqli_close($link);
mysqli_affected_rows(连接对象)
前一次mysql操作的受影响行数
类型 INSERT UPDATE DELETE操作使用
返回值 大于0的整数成功 -1 执行失败
1 <?php2 $link = mysqli_connect('localhost','root','123456');3 if(mysqli_connect_errno($link)>0){4 echo mysqli_connect_error($link);exit;5 } mysqli_select_db($link,'test');6 mysqli_set_charset($link,'utf8');7 //$sql="UPDATE info SET name='烨欢',city='东莞',sex=0 WHERE id=25";
8 $sql="DELETE FROM info WHERE id=72";9 $result =mysqli_query($link,$sql);10 if($result && mysqli_affected_rows($link)>0){11 echo '手术成功';12 }else{13 echo '手术失败';14 }mysqli_close($link);