【php】php操作MySQL数据库
一、操作步骤:
1. 连接MySQL数据库并判断是否连接成功
2. 选择数据库
3. 设置字符集
4. 准备SQL语句
5. 向MySQL服务发送SQL语句
6. 解析处理结果集
7. 释放结果集,关闭数据库连接
二、常用操作:
1. mysqli_connect();–连接数据库,并返回一个连接资源
格式: mysql_connect(主机名,用户,密码);
–其中参数可选,若不写则参考php.ini中默认配置
2. mysqli_error(); –获取刚刚(最后)执行数据库操作的错误信息
3. mysqli_errno(); –获取刚刚(最后)执行数据库操作的错误号
错误号为0表示没有错误
4. mysqli_select_db(数据库名[,数据库连接]);
选择一个数据库,等同于”use 库名”语句
5. mysqli_set_charset(字符编码); –设置字符编码
例如:mysql_set_charset(“utf8”); 等同于:mysql_query(“set names utf8”);
6. mysqli_query(sql语句[,数据库连接]); — 发送一条sql语句
sql语句若是查询,则返回结果集,其他则返回boolean值表示执行是否成功。
7. 解析结果集函数:
mysqli_fetch_array(); –以关联和索引两种方式数组解析结果集
也可以指定第二参数来定义返回格式:
MYSQL_BOTH(0关联和索引)/MYSQL_NUM(2索引)/MYSQL_ASSOC(1关联)
mysqli_fetch_row(); –以索引式数组解析结果集
*mysqli_fetch_assoc(); –以关联式数组解析结果集
mysqli_fetch_object(); –以对象方式解析结果集
8. mysqli_free_result(结果集名); –释放结果集
9. mysqli_close(数据库连接); –关闭数据库连接
10. mysqli_num_rows(结果集); –获取结果集中的数据条数
11. mysqli_num_fields(结果集); –获取结果集中的列数(字段数量)
12. mysqli_result(); –定位取结果
echo mysql_result($result,0,3).”<br/>”; //获取第1条数据的第4列中的值
echo mysql_result($result,1,2).”<br/>”; //获取第2条数据的第3列中的值
echo mysql_result($result,5,4).”<br/>”; //获取第6条数据的第5列中的值
13.mysqli_affected_rows — 取得前一次 MySQL 操作所影响的记录行数
关联的 INSERT,UPDATE 或 DELETE 查询所影响的记录行数。
14. mysqli_insert_id — 取得上一步 INSERT 操作产生的 ID
1 //在php当中操作mysql数据库的六脉神剑 2 3 //1.连接数据库服务器,并判断是否成功 mysqli_connect(服务器地址,用户名,密码[,数据库名]); 4 $link = mysqli_connect(\'localhost\',\'root\',\'\'); 5 6 //2.设置字符集 mysqli_set_charset(数据库服务器对象,要设置的编码类型); 7 mysqli_set_charset($link,\'utf8\'); 8 9 //3.选择数据库 mysqli_select_db(数据库服务器对象,数据库服务器中的指定的数据库名); 10 mysqli_select_db($link,\'lamp183\'); 11 12 //4.输入增、删、改、查sql语句,并发送执行 mysqli_query(数据库服务器对象,sql语句); 13 $sql = \'select * from stu\'; 14 $result = mysqli_query($link,$sql); 15 var_dump($result); 16 17 //5.解析结果集 mysqli_num_rows(query发送sql语句之后的对象结果集),会得到查询出数据的总条数; 18 if($result!=false && mysqli_num_rows($result)>0){ 19 20 //遍历获取每一条数据的数组 mysqli_fetch_assoc(query发送sql语句之后的对象结果集),会得到每一条数据的数组 21 while($rows = mysqli_fetch_assoc($result)){ 22 var_dump($rows); 23 } 24 } 25 26 //6.关闭数据库,释放结果集 27 mysqli_free_result($result); 28 mysqli_close($link);
1 //六脉神剑操作数据库 2 3 //1.连接数据库服务器,并判断 4 $link = mysqli_connect(\'localhost\',\'root\',\'\')or die(\'数据库连接失败!\'); 5 6 //2.设置字符集 7 mysqli_set_charset($link,\'utf8\'); 8 9 //3.选择数据库 10 mysqli_select_db($link,\'lamp183\'); 11 12 //4.定义增、删、改sql语句,并发送执行 13 14 //定义添加数据的sql语句(发送之后返回布尔型真或假) 15 $sql = "insert into stu (name) values (\'jingfei\')"; 16 $bool = mysqli_query($link,$sql); 17 18 //获取上一条插入成功的数据的id号 19 $id = mysqli_insert_id($link); 20 21 //定义删除数据的sql语句 22 $sql = "delete from stu where id=2"; 23 $bool = mysqli_query($link,$sql); 24 25 //定义修改数据的sql语句 26 $sql = "update stu set name=\'haibo\' where name=\'haibo\'"; 27 $bool = mysqli_query($link,$sql); 28 29 //5.判断是否执行成功 mysqli_affected_rows(对象结果集):返回增删改sql语句执行成功之后的影响行数,如果失败返回-1 30 if($bool!=false && mysqli_affected_rows($link)>0){ 31 echo "<script>alert(\'恭喜,添加成功!\');window.location.href=\'3.php\'</script>"; 32 } 33 34 //6.关闭数据库 35 mysqli_close($link);