数据库操作过程
1) 打开cmd客户端
2)输入命令:mysql -hlocalhost -uroot -p 回车:输入密码
3)选择数据库
4)查看库中的表,对表进行增删改查
5)退出
PHP连接mysql步骤
PHP作为连接数据库的客户端,也像cmd那样需要命令和步骤帮我们连接mysql,只不过这些命令都
是PHP函数提供了。
PHP连接mysql共有8步。
1 <?php 2 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 <?php 2 //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 \'<table border="1" width="800" align="center">\'; 17 echo \'<tr>\'; 18 echo \'<td>编号</td>\'; 19 echo \'<td>姓名</td>\'; 20 echo \'<td>年龄</td>\'; 21 echo \'<td>性别</td>\'; 22 echo \'<td>城市</td>\'; 23 echo \'</tr>\'; 24 while($row = mysqli_fetch_assoc($result)){ 25 echo \'<tr>\'; 26 echo \'<td>\'.$row[\'id\'].\'</td>\'; 27 echo \'<td>\'.$row[\'name\'].\'</td>\'; 28 echo \'<td>\'.$row[\'age\'].\'</td>\'; 29 echo \'<td>\'.$row[\'sex\'].\'</td>\'; 30 echo \'<td>\'.$row[\'city\'].\'</td>\'; 31 echo \'</tr>\'; 32 }echo \'</table>\'; 33 }else{ 34 echo \'查询失败\'; 35 //8. 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; ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <table border="1" width="800" align="center"> <tr> <td>编号</td> <td>姓名</td> <td>年龄</td> <td>性别</td> <td>城市</td> </tr> / <?php foreach($userlist as $value): //var_dump($value);?> <tr> <td><?php echo $i++;?></td> <td><?php echo $value[\'name\'];?></td> <td><?php echo $value[\'age\'];?></td> <td><?php echo $value[\'sex\'];?></td> <td><?php echo $value[\'city\'];?></td> </tr> <?php endforeach; ?> </table> </body> </html> <?php mysqli_close($link);?>
mysqli_insert_id() 返回上次insert操作返回的id
1 <?php 2 $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 <?php 2 $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);