ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

PHP扩展 Mysql 与 Mysqli

2021-04-27 17:55:02  阅读:239  来源: 互联网

标签:mysqli Mysql 扩展 版本 MySQL Mysqli PHP


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 扩展代替。

0?wx_fmt=jpeg

MySQL 增强版。

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

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

特性比较:

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

MySQLi 的 i 代表 Improvement。

0?wx_fmt=jpeg

相关概念

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进行加速。

0?wx_fmt=jpeg

建议

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

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

欢迎关注公众号,一起交流学习 ~

Thanks ~

0?wx_fmt=jpeg



标签:mysqli,Mysql,扩展,版本,MySQL,Mysqli,PHP
来源: https://blog.51cto.com/u_15183360/2737303

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有