php基础系列----11php通过mysqli扩展操作mysql数据库
来源:互联网 发布:ubuntu重新安装unity 编辑:程序博客网 时间:2024/05/21 19:50
mysqli简介:
1:是mysql的扩展模块;通过mysqli访问mysql数据更安全,支持预处理,因此可以避免sql注入,更易维护; 2:提供了面向对象和面向过程的接口,而mysql_extension只能通过面向过程接口访问; 3:mysql是非持久连接函数,脚本执行完毕即断开连接;而mysqli则是持久连接;
使用mysqli面向过程接口访问数据库;
1:打开mysqli扩展模块;
php.ini文件: extension = php_mysqli.dll;
2:连接数据库:
$mysqli = mysqli_connect("localhost","username","passwored",'daname');
3:连接错误处理:
mysqli_connect_error():返回mysql连接错误的错误信息 mysqli_connect_errno():返回mysql连接的错误代码; if(mysqli_connect_error()){} if(mysqli_connect_errno()){}
4:设置字符编码:
mysqli_set_charset("utf-8");
5:执行sql语句:
$result = mysqli_query($sql); //如果是增删改语句返回true/false; //如果是查询语句。执行成功返回结果集,执行失败返回false;
6:处理结果集:
//将结果集包装成对象; 1:mysqli_fetch_object($result); //将结果包装成数组; 2:mysqli_fetch_array($result); //将结果包装成数组; 3:mysqli_fetch_assoc($result); //将结果包装成数组; 4:mysqli_fetch_row($result); 6:跳转结果集指针: mysqli_data_seek($result,n)//把结果集指针跳转到指定条; //解析的时候必须要放置在循环中,否则将只能取出满足条件的第一条数据;
7:获取其他信息:
1: mysqli_num_rows($result)//:获取结果集的总行数; 2: mysqli_num_fields()//:获取结果集的字段数; 3: mysqli_affected_rows()//:获取受影响的行数; 4: mysqli_fetch_fields()//:获取某行所有字段并作为数组; 5: mysqli_data_seek()//:移动数据指针,默认是在第一列; 6: mysqli_field_tell() //:获取当前指针的位置; 7: mysqli_free_result()//:释放结果内存。
8:执行多条查询语句:
$_sql .="SELECT * FROM tg_user;" ; $_sql .="SELECT * FROM tg_photo;" ; $_sql .="SELECT * FROM tg_article" ; // 开始执行多条 SQL 语句 if ( mysqli_multi_query( $_sql )) { //开始获取第一条 SQL 语句的结果集 $_result= mysqli_store_result(); print_r(mysqli_fetch_array($_result)); //将结果集指针移到下一个 mysqli_next_result($_mysqli); $_result= mysqli_store_result(); print_r(mysqli_fetch_array($_result)); mysqli_next_result($_mysqli); $_result= mysqli_store_result(); print_r(mysqli_fetch_array($_result)); } else { echo'sql 语句有误! ' ; }
9:获取和数据库本身有关的信息:
mysqli_get_charset() //返回字符集对象。 mysqli_get_client_info() //返回 MySQL 客户端库版本。 mysqli_get_client_stats() //返回有关客户端每个进程的统计。 mysqli_get_client_version() //将 MySQL 客户端库版本作为整数返回。 mysqli_get_connection_stats() //返回有关客户端连接的统计。 mysqli_get_host_info() //返回 MySQL 服务器主机名和连接类型。 mysqli_get_proto_info() //返回 MySQL 协议版本。 mysqli_get_server_info() //返回 MySQL 服务器版本。 mysqli_get_server_version() //将 MySQL 服务器版本作为整数返回。
10:事务:
mysqli事务:
//1:关闭自动提交: mysqli_autocommit(false); //2:执行sql语句: $resul1 = mysqli_query($sql1); $resul2 = mysqli_query($sql2); $resul3 = mysqli_query($sql3); //3:提交 if($resul1&&resul2&&resul3){ //提交 mysqli_commit(); }else{ //回滚 mysqli_rollback(); } //4:事务执行完成开启自动提交: mysqli_autocommit(true);
0 0
- php基础系列----11php通过mysqli扩展操作mysql数据库
- php基础系列----10php通过mysqli扩展操作mysql数据库
- php基础系列----9php通过mysql扩展操作mysql数据库
- PHP使用MySqli扩展库去操作MySql数据库
- 使用php的mysqli扩展库操作mysql数据库
- PHP 使用MYSQLI扩展操作数据库
- PHP mysqli(数据库操作)
- PHP MysqlI操作数据库
- PHP 数据库操作 mysqli
- PHP mysqli 操作数据库
- PHP MysqlI操作数据库
- PHP MysqlI操作数据库
- PHP mysqli操作数据库
- PHP mysqli 操作数据库
- PHP mysqli 操作数据库
- php mysqli 操作数据库
- PHP mysqli 操作数据库
- php通过mysqli连接数据库
- android4.0 中关于内外置sd卡的获取及读写权限问题
- TextView下划线
- mongodb可视化工具Toad
- 搭建web.py开发框架
- ML-Gradient Boost Decision Tree(+ Treelink)
- php基础系列----11php通过mysqli扩展操作mysql数据库
- spark configuration and monitor
- In-Memory Column optional
- TCP三次握手四次挥手
- 如何使用openssl生成RSA公钥和私钥对
- ConcurrentHashMap详解以及get方法保持同步的解释
- jquery实现angular左侧导航栏,页面刷新仍选中
- 1.小小的单例模式
- 隐藏行连续序号问题