PHP扩展 Mysql 与 Mysqli

作者: 新亮笔记 | 来源:发表于2017-03-23 14:32 被阅读110次

    PHP开发中,使用Mysql扩展来链接Mysql数据库进行增删改查等操作。

    在选择Mysql扩展的时候,官方提供了两种:

    MySQL 原始版。

    http://cn.php.net/manual/zh/book.mysql.php

    从 PHP 5.5.0 起这个扩展已经被废弃,并且从 PHP 7.0.0. 开始被移除。

    作为替代,可以使用 mysqli 或者 PDO_MySQL 扩展代替。

    MySQL 原始版

    MySQL 增强版。

    http://cn.php.net/manual/zh/book.mysqli.php

    mysqli扩展允许我们访问MySQL 4.1及以上版本提供的功能。

    特性比较

    特性 mysqli mysql
    PHP版本 >=5.0 >3.0
    MySQL开发状态 活跃 仅维护
    MySQL建议使用 首选 建议
    API的字符集支持
    存储过程支持情况
    多语句执行支持情况
    是否支持所有MySQL4.1以上功能

    MySQLi 的 i 代表 Improvement。

    MySQL 增强版

    相关概念

    MySQL 与 MySQLi 都是PHP方面的函数集。

    在 PHP5 版本以后,增加了mysqli的函数功能。

    某种意义上讲,它是MySQL系统函数的增强版,更稳定更高效更安全。

    连接进程

    MySQL 每次链接都会打开一个连接的进程。

    MySQLi 多次运行将使用同一连接进程,减少了服务器的开销。

    链接方式

    <?php
      //Mysql连接
      $conn = @mysql_connect("localhost", "root", "") or die("数据库连接错误");
      mysql_select_db("user", $conn);
      mysql_query("set names 'utf8'");
      echo "数据库连接成功";
    
      //Mysqli连接
      $conn = mysqli_connect('localhost', 'root', '', 'user');
      if (!$conn) {
        die("数据库连接错误" . mysqli_connect_error());
      } else {
        echo"数据库连接成功";
      }
    
    

    顺便说 mysqlnd

    Mysql Native驱动(Mysql Native Driver 简称:mysqlnd)。

    在 PHP5.3.0 版本中被引入。

    在 PHP5.4 之后的版本mysqlnd被作为默认配置选项。

    由zend公司开发的MySQL数据库驱动。

    mysqlnd 提供了和Zend引擎高度的集成性,更加快速的执行速度,更少的内存消耗,利用了PHP的Stream API,以及客户端缓存机制。

    由于 mysqlnd 是透过Zend引擎,因此提供更多高级特性,以及有效利用Zend进行加速。

    mysqlnd

    建议

    PHP版本为5.x建议使用 mysqli 扩展。

    PHP版本为7 只能使用 mysqli 扩展。


    Thanks ~

    提供PHP相关技术服务~(可私信)

    相关文章

      网友评论

      本文标题:PHP扩展 Mysql 与 Mysqli

      本文链接:https://www.haomeiwen.com/subject/wrgznttx.html