首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PHP中的MySQLi扩展学习(一)MySQLi介绍

现在如果想要使用过程式的代码来操作数据库,只能使用 mysqli 扩展了。当然,mysqli 扩展也是支持面向对象式的写法的。...如果你还在 PHP5 的环境中学习 MySQL(原始)扩展的使用的话,也可以放下了。 而对于 PDO 和 MySQLi 的选择来说,就仁者见仁智者见智了。...当然,小众并不意味着不好,就像日常开发中,我们很少会在 PHP 环境中使用别的数据库,那么在自己的小项目中完全使用一套 MySQLi 来操作数据库反而更加地方便快捷。...而 PHP7.2.4 之前的版本中的 MySQLi使用 mysql_native_password 来对连接密码进行加密,这样就会导致无法连接上数据库。...在接下来的文章中,我们将默认只使用 面向对象 式的写法来继续学习 MySQLi 扩展相关的知识。

2.9K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PHP中的MySQLi扩展学习(一)MySQLi介绍

    现在如果想要使用过程式的代码来操作数据库,只能使用 mysqli 扩展了。当然,mysqli 扩展也是支持面向对象式的写法的。...如果你还在 PHP5 的环境中学习 MySQL(原始)扩展的使用的话,也可以放下了。 而对于 PDO 和 MySQLi 的选择来说,就仁者见仁智者见智了。...当然,小众并不意味着不好,就像日常开发中,我们很少会在 PHP 环境中使用别的数据库,那么在自己的小项目中完全使用一套 MySQLi 来操作数据库反而更加地方便快捷。...mysqli_query() 函数来执行语句,接着又使用面向对象的方式来获取结果集。...在接下来的文章中,我们将默认只使用 面向对象 式的写法来继续学习 MySQLi 扩展相关的知识。

    2.9K20

    PHP中的MySQLi扩展学习(三)mysqli的基本操作

    在实例化过程中,我们并没有给 mysqli 的构造函数传递任何的参数,而是使用 real_connect() 方法来传递数据库服务器信息并建立连接。...相信不少朋友从代码中就可以看出,我们使用 real_connect() 可以在一个 mysqli 实例下来切换不同的数据库连接。...通过打印 mysqli 对象的内容就可以看出,两个连接的线程ID不同,也就是说,它们是不同的两个连接,但是使用的都是最上面所初始化的那个 mysqli 对象。...但是在 MySQLi 中,我们统一只使用 query() 方法就可以了。...我们如果需要获取受影响的行数需要使用 MySQLi 的属性 affected_rows 。对于插入语句来说,获取最新插入的数据ID使用的是 insert_id 属性。

    2.9K00

    PHP中的MySQLi扩展学习(三)mysqli的基本操作

    在实例化过程中,我们并没有给 mysqli 的构造函数传递任何的参数,而是使用 real_connect() 方法来传递数据库服务器信息并建立连接。...相信不少朋友从代码中就可以看出,我们使用 real_connect() 可以在一个 mysqli 实例下来切换不同的数据库连接。...通过打印 mysqli 对象的内容就可以看出,两个连接的线程ID不同,也就是说,它们是不同的两个连接,但是使用的都是最上面所初始化的那个 mysqli 对象。...但是在 MySQLi 中,我们统一只使用 query() 方法就可以了。...我们如果需要获取受影响的行数需要使用 MySQLi 的属性 affected_rows 。对于插入语句来说,获取最新插入的数据ID使用的是 insert_id 属性。

    2.9K20

    PHP中的MySQLi扩展学习(四)mysqli的事务与预处理语句

    所以在这里,我们就不再多讲理论方面的东西了,直接上代码来看看 MySQLi 中这两大特性与 PDO 在使用上的区别。 事务处理 首先,我们还是要让 MySQLi 对于错误的语句也报出异常来。...// 使用异常处理错误情况 $driver = new mysqli_driver(); $driver->report_mode = MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT...; 这样就指定了在使用 MySQLi 扩展时,所有的错误信息都会作为异常抛出。...预处理语句 总体来说,事务的处理和 PDO 的区别不大,但是预处理语句和 PDO 中的使用的区别就有一些了。首先是我们的 MySQLi 中的占位符只有 ? 问号占位。...对于我们来说,还是多以学习了解为主,在自己封装或者使用某些以 MySQLi 为底层数据库操作的框架时不至于晕头转向。

    2.4K00

    PHP中的MySQLi扩展学习(六)MySQLI_result对象操作

    对于我们的业务开发来说其实用处不大,除了 num_rows 可以用来根据行数判断查询是否有结果之外,更重要的是我们要获取到结果集中的数据信息,这时就需要使用其它的函数来进行数据的获取了。...当我们获取或者使用后面要介绍的方法循环遍历完成一次结果集之后,再次遍历的话它的游标已经处于最后一位的,这样是无法获取数据的。...获取普通结果集 如果要一行一行数据的获取,我们就可以使用各种形式的结果集数据获取方式。...另外还有一个 fetch_assoc() 方法,直接就是返回 MYSQLI_ASSOC 格式的数据,这个方法不需要任何参数,它可以看成是 fetch_array(MYSQLI_ASSOC) 这种使用方式的一个封装...在实际的业务开发中 PDO 还是会使用得更多,但 MySQLi 也绝不是能够完全忽略的,多多动手尝试学习吧。

    2.9K10

    ThinkPHP6.0安装使用小记

    ThinkPHP6.0的前身是ThinkPHP5.2,因为6.0版本改动比较大,所以直接将原定的5.2改成6.0。 目前ThinkPHP6还没正式发布,还是Rc阶段,更新也比较频繁。...安装 从ThinkPHP5.1起,需要通过composer安装,不再提供安装包。 目前ThinkPHP6还没正式发布,还是Rc阶段,所以需要加上-dev选项。...应用的运行时目录 └─vendor 第三方类库目录(Composer) └─topthink ├─framework ThinkPHP...框架系统 ├─think-installer ThinkPHP安装器 ├─think-template 模板引擎扩展 └─think-view...如果需要继续使用这些视图方法,需要改为继承think\ViewController类,或者使用助手函数或自己封装。 方法 方法对于我来说,也是没有什么变化和影响的,唯一的影响就是视图和模板的变动了。

    67130

    PHP使用mysqli同时执行多条sql查询语句的实例

    PHP数据库操作中,mysqli相对于mysql有很大的优势,建议大家使用;之前我们有介绍过如何在PHP5中使用mysqli的prepare操作数据库,使用mysqli更是支持多查询特性,请看下面这段php...php $mysqli = new mysqli("localhost","root","","123456"); $mysqli- query("set names 'utf8'"); //多条sql...($sql)){//使用multi_query()执行一条或多条sql语句 do{ if ($rs = $mysqli- store_result()){//store_result()方法获取第一条...()方法获取下一结果集,返回bool值 } $mysqli- close(); //关闭数据库连接 ?...通过上面的例子,相信大家都可以很容易地明白了,在使用的时候要特别注意的是multi_query()执行多条语句时,语句之间是用 ; 隔开的,否则会出现错误。

    3.3K30
    领券