,MySQL(原始)扩展肯定是不推荐了,就算是老的项目,只要是支持 PDO 或 MySQLi 的 PHP 版本,都应该考虑将数据库的连接转换成这两种方式之一。...如果你还在 PHP5 的环境中学习 MySQL(原始)扩展的使用的话,也可以放下了。 而对于 PDO 和 MySQLi 的选择来说,就仁者见仁智者见智了。...扩展的安装及 MySQL8 需要注意的地方 MySQLi 的扩展是随 PHP 源码一起发布的,我们在编译 PHP 的时候加上 --with-mysqli 就可以了。...而 PHP7.2.4 之前的版本中的 MySQLi 会使用 mysql_native_password 来对连接密码进行加密,这样就会导致无法连接上数据库。...() 函数来执行语句,接着又使用面向对象的方式来获取结果集。
扩展的安装及 MySQL8 需要注意的地方 MySQLi 的扩展是随 PHP 源码一起发布的,我们在编译 PHP 的时候加上 --with-mysqli 就可以了。...mysqli_query() 函数来执行语句,接着又使用面向对象的方式来获取结果集。...测试代码: https://github.com/zhangyue0503/dev-blog/blob/master/php/202009/source/4.PHP中的MySQLi扩展学习(一)MySQLi...介绍.php 参考文档: https://www.php.net/manual/zh/mysqli.requirements.php https://www.php.net/manual/zh/mysqli.installation.php...https://www.php.net/manual/zh/mysqli.overview.php https://www.php.net/manual/zh/mysqli.quickstart.dual-interface.php
从 PHP 5.5.0 起这个扩展已经被废弃,并且从 PHP 7.0.0. 开始被移除。 作为替代,可以使用 mysqli 或者 PDO_MySQL 扩展代替。 MySQL 增强版。...特性比较 特性 mysqli mysql PHP版本 >=5.0 >3.0 MySQL开发状态 活跃 仅维护 MySQL建议使用 首选 建议 API的字符集支持 是 否 存储过程支持情况 是 否 多语句执行支持情况...相关概念 MySQL 与 MySQLi 都是PHP方面的函数集。 在 PHP5 版本以后,增加了mysqli的函数功能。 某种意义上讲,它是MySQL系统函数的增强版,更稳定更高效更安全。...在 PHP5.3.0 版本中被引入。 在 PHP5.4 之后的版本mysqlnd被作为默认配置选项。 由zend公司开发的MySQL数据库驱动。...建议 PHP版本为5.x建议使用 mysqli 扩展。 PHP版本为7 只能使用 mysqli 扩展。 Thanks ~
如果执行的是 SELECT 语句,那么 query() 返回的就是一个 mysqli_result 对象,它代表从一个数据库查询中获取的结果集。关于这个对象的内容我们将在后面的文章中进行详细的说明。...use_result 在上面的测试代码中,获得每一条语句的执行结果使用的是 use_result() 这个方法。它的作用是启动结果集的检索。...store_result 除了 use_result() 之外,还有一个 store_result() 方法可以帮助我们获得查询的结果集。...它和 use_result() 方法是相反的,也就是说,它是直接执行就将结果集保存在内存中了。...more_results() 和 next_result() 针对这两种结果集的获取方式也是不同的,大家可以自己测一下。
PHP5.0开始,不仅可以使用早期的mysql数据库扩展函数,还能使用新扩展的mysqli技术实现与mysql数据库的信息交流,PHP的mysqli扩展被封装在在一个类中,它是一种面向对象技术,只能在PHP5...和MYSQL4,1或更高的版本才能使用,(i)表示该进,使用mysqli,执行速度更快,更方便,更高效,也可以使数据库访问更安全(因为用类模式) 使用mysqli 简单流程 设置PHP.ini 配置文件...建立MYSQL配置文件 config.ini.php config.ini.php 内容如下: 微信图片_20191129171010.jpg 用mysqli链接MYSQL数据库: 微信图片_20191129171025....jpg 查询: 微信图片_20191129171041.jpg 三种处理查询结果: 微信图片_20191129171057.jpg 关联数组,就是嵌套的数组 如: 微信图片_20191129171114....jpg 以上就是PHP Mysqli 常用代码集合所有详细内容。
PHP mysqli_stat() 函数 创建 SSL 连接: <?...php // 假定数据库用户名:root,密码:123456,数据库:codingdict $con=mysqli_connect("localhost","root","123456","codingdict..."); if (mysqli_connect_errno($con)) { echo "连接 MySQL 失败: " . mysqli_connect_error(); } echo "System...status: ". mysqli_stat($con); mysqli_close($con); ?...定义和用法 mysqli_stat() 函数返回当前系统状态。 ? 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对ZaLou.Cn的支持。
PHP中的MySQLi扩展学习(六)MySQLI_result对象操作 在之前的文章中,我们就已经接触过 MYSQLI_result 相关的内容。它的作用其实就是一个查询的结果集。...查询结果集获取 MySQLI_result 对象的可见属性中,我们只能看到上面的那些信息。...获取普通结果集 如果要一行一行数据的获取,我们就可以使用各种形式的结果集数据获取方式。...,同样它也可以指定返回结果集的格式,和 fetch_all() 是类似的,只不过它是只获取下一行而不是全部的数据集,而且它的参数默认是返回的 MYSQLI_BOTH ,也就是数字下标和键名下标同时返回结果...对象操作.php 参考文档: https://www.php.net/manual/zh/class.mysqli-result.php
所以在这里,我们就不再多讲理论方面的东西了,直接上代码来看看 MySQLi 中这两大特性与 PDO 在使用上的区别。 事务处理 首先,我们还是要让 MySQLi 对于错误的语句也报出异常来。...而在 MySQLi 中,我们则需要指定 MySQLi_Driver 对象中的报错属性为抛出异常,很明显,MySQLi_Driver 就是 MySQLi 的驱动对象。...// 使用异常处理错误情况 $driver = new mysqli_driver(); $driver->report_mode = MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT...try { // 开始事务 $mysqli->begin_transaction(); $mysqli->query("insert into tran_innodb (name...结果集对象 $username='bbb'; $stmt->bind_param('s', $username); $stmt->execute(); $bUser = $stmt->fetch();
PHP mysqli_sqlstate() 函数 返回最后一个 MySQL 操作的 SQLSTATE 错误代码: <?...php // 假定数据库用户名:root,密码:123456,数据库:codingdict $con=mysqli_connect("localhost","root","123456","codingdict..."); if (mysqli_connect_errno($con)) { echo "连接 MySQL 失败: " . mysqli_connect_error(); } // 数据表 websites...mysqli_query($con,$sql)) { echo "SQLSTATE error: ". mysqli_sqlstate($con); } // 关闭连接 mysqli_close($...定义和用法 mysqli_sqlstate() 函数返回最后一个错误的 SQLSTATE 错误代码。 错误代码包含五个字符。”00000″ 表明没有错误。值由 ANSI SQL 和 ODBC 指定。
其实操作方式之类也都比较相似,不外乎以绑定参数为主的一些针对 SQL 语句和获取结果集的操作。...返回结果集 执行 fetch() 方法返回的是一个布尔值,它主要的作用是将结果集绑定到指定的变量中,所以如果你直接打印它的结果是不会有什么有用的信息的,我们必须通过绑定列变量的方式来获得数据。...而真正获得结果集的数据其实是通过另一个方法来获得一个 MySQLI_result 对象,然后再使用这个对象里面的方法就可以像 PDO 的 fetch() 一样来获得真正的结果集了。...保存结果集及游标移动 最后就是关于游标的移动,上面的测试数据中我们可以查询到 7 条数据,并且第一条数据的 id 是 42 ,通过游标,我们可以不在 SQL 语句中使用 limit 而直接操作结果集来获取需要的数据...对象操作.php 参考文档: https://www.php.net/manual/zh/book.mysqli.php
其实操作方式之类也都比较相似,不外乎以绑定参数为主的一些针对 SQL 语句和获取结果集的操作。...返回结果集 执行 fetch() 方法返回的是一个布尔值,它主要的作用是将结果集绑定到指定的变量中,所以如果你直接打印它的结果是不会有什么有用的信息的,我们必须通过绑定列变量的方式来获得数据。...而真正获得结果集的数据其实是通过另一个方法来获得一个 MySQLI_result 对象,然后再使用这个对象里面的方法就可以像 PDO 的 fetch() 一样来获得真正的结果集了。...保存结果集及游标移动 最后就是关于游标的移动,上面的测试数据中我们可以查询到 7 条数据,并且第一条数据的 id 是 42 ,通过游标,我们可以不在 SQL 语句中使用 limit 而直接操作结果集来获取需要的数据...; $stmt->close(); 首先,我们需要使用 store_result() 方法来将结果集保存到内存中,这个方法和 MySQLi 中的 store_result() 方法是一样的。
这一章节主要介绍如何配置结果集,分为以下几个知识点: 结果集类型(result type) 全局结果集(global types) 动态结果集(dynamic type) 带有参数的结果集(type with...全局结果集: 全局结果集,顾名思义就是全局的,就像java代码里面的全局变量一样,可以在整个程序里面被调用。...所以这个时候我们就可以用到全局结果集了(全局结果集在一个包里面“全局”)。...动态结果集 动态结果集、 struts.xml: ${r} public...这样就完成了动态的结果集。 带有参数的结果集 当客户端发送了一个请求,这个请求含有参数,我们将这个请求重定向到其他页面,那么我们怎么将这个参数继续带到其他页面呢?
PHP mysqli_rollback() 函数 关闭自动提交,做一些查询,提交查询,然后回滚当前事务: <?...php // 假定数据库用户名:root,密码:123456,数据库:codingdict $con=mysqli_connect("localhost","root","123456","codingdict..."); if (mysqli_connect_errno($con)) { echo "连接 MySQL 失败: " . mysqli_connect_error(); } // 关闭自动提交 mysqli_autocommit...($con); // 关闭连接 mysqli_close($con); ?...定义和用法 mysqli_rollback() 函数回滚指定数据库连接的当前事务。 提示:请查看 mysqli_commit() 函数,用于提交指定数据库连接的当前事务。
PHP mysqli_ssl_set() 函数 实例 创建 SSL 连接: <?php $con=mysqli_init(); if (!...$con) { die("mysqli_init failed"); } mysqli_ssl_set($con,"key.pem","cert.pem","cacert.pem",NULL,NULL...mysqli_close($con); ? 定义和用法 mysqli_ssl_set() 函数用于创建 SSL 安全连接。然而,该函数只有在启用 OpenSSL 支持时才有效。...注释:该函数必须在 mysqli_real_connect() 之前调用。 注释:在 PHP 5.3.3 之前的版本,MySQL Native Driver 不支持 SSL。...自 PHP 5.3+ 起,在微软 Windows 上默认启用 MySQL Native Driver。 ?
PHP中的MySQLi扩展学习(四)mysqli的事务与预处理语句 对于 MySQLi 来说,事务和预处理语句当然是它之所以能够淘汰 MySQL(原始) 扩展的资本。...而在 MySQLi 中,我们则需要指定 MySQLi_Driver 对象中的报错属性为抛出异常,很明显,MySQLi_Driver 就是 MySQLi 的驱动对象。...结果集对象 $username='bbb'; $stmt->bind_param('s', $username); $stmt->execute(); $bUser = $stmt->fetch();...测试代码: https://github.com/zhangyue0503/dev-blog/blob/master/php/202009/source/7.PHP中的MySQLi扩展学习(四)mysqli...的事务与预处理语句.php 参考文档: https://www.php.net/manual/zh/book.mysqli.php
PHP mysqli_select_db() 函数 更改连接的默认数据库: 删除数据库 <?...php // 假定数据库用户名:root,密码:123456,数据库:codingdict $con=mysqli_connect("localhost","root","123456","codingdict..."); if (mysqli_connect_errno($con)) { echo "连接 MySQL 失败: " . mysqli_connect_error(); } // ...查询 "codingdict..." 数据库的一些 PHP 代码... // 修改数据库为 "test" mysqli_select_db($con,"test"); // ...查询 "test" 数据库的一些 PHP 代码... mysqli_close...定义和用法 mysqli_select_db() 函数用于更改连接的默认数据库。 ?
MYSQL php PHP+Mysqli 事务处理 php+mysqli 事物处理 事物就是如果两条或多条数据只要有一条SQL语句错误,那么已经执行成功的执行回滚操作,把已经生效的SQL语句回滚为原来的值...代码 直接看代码吧 //SQL连接 $mysqli = new mysqli('127.0.0.1','root','root','test');//实例化Mysqli对象,参数分别是:数据库主机地址,...用户名,密码,数据库名 if (mysqli_connect_errno()) {//判断数据库连接是否错误 die(mysqli_connect_error()); } $mysqli->set_charset...('utf8');//设置数据库字符集 $mysqli->autocommit(false); // 开始事务 $sql ='...>commit();//提交事务 }else{ $mysqli->rollback();//回滚 } } $mysqli->autocommit(true);//关闭事务 $mysqli
Mybatis官方文档说明处 Mybatis 一对多 结果集映射 简单入门 易懂 一、搭建数据库环境 二、idea 搭建maven 项目 (mybatis-demo) 2.1、项目结构 2.2、导入依赖...--========================= 结果集映射=============================--> <select id="getTeacher3" resultMap
PHP mysqli_set_charset()函数 设置默认客户端字符集: <?...php // 假定数据库用户名:root,密码:123456,数据库:codingdict $con=mysqli_connect("localhost","root","123456","codingdict..."); if (mysqli_connect_errno($con)) { echo "连接 MySQL 失败: " . mysqli_connect_error(); } // 修改数据库连接字符集为...utf8 mysqli_set_charset($con,"utf8"); mysqli_close($con); ?...这样的操作在针对中文字符非常有用,很多数据库查询乱码的情况都是字符集的问题。 定义和用法 mysqli_set_charset()函数规定当与数据库服务器进行数据传送时要使用的默认字符集。
领取专属 10元无门槛券
手把手带您无忧上云