PHP开发中,使用Mysql扩展来连接Mysql数据库进行增删改查等操做。javascript
在选择Mysql扩展的时候,官方提供了两种:php
MySQL 原始版。java
从 PHP 5.5.0 起这个扩展已经被废弃,而且从 PHP 7.0.0. 开始被移除。sql
做为替代,可使用 mysqli 或者 PDO_MySQL 扩展代替。数据库
MySQL 加强版。后端
mysqli扩展容许咱们访问MySQL 4.1及以上版本提供的功能。安全
特性比较服务器
特性 | mysqli | mysql |
---|---|---|
PHP版本 | >=5.0 | >3.0 |
MySQL开发状态 | 活跃 | 仅维护 |
MySQL建议使用 | 首选 | 建议 |
API的字符集支持 | 是 | 否 |
存储过程支持状况 | 是 | 否 |
多语句执行支持状况 | 是 | 否 |
是否支持全部MySQL4.1以上功能 | 是 | 否 |
MySQLi 的 i 表明 Improvement。
相关概念
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进行加速。
建议
PHP版本为5.x建议使用 mysqli
扩展。
PHP版本为7 只能使用 mysqli
扩展。
Thanks ~
做者:PHP后端开发者
提供技术相关服务(本身懂的知识)。
QQ群:564557094。
关注微信公众号,留言便可,看到留言后会及时回复。