找回密码
 注册

PHP7 php_mysql.dll MySQL MySQLi PDO

php 发表于 2016/1/15 23:14 | 显示全部楼层 |阅读模式
PHP现在有三种扩展可以用于与MySQL数据库进行交互,分别是:MySQL扩展,MySQLi扩展和PDO扩展,Windows版PHP中分别对应php_mysql.dll、php_mysqli.dll和php_pdo_mysql.dll三个文件。

要在PHP中启用对应的扩展,就要在生效的php.ini中增加一条extension=php_xxx.dll指令,如extension=php_pdo_mysql.dll,通常来说,php.ini默认已有这些扩展的配置指令,只是在前面加了一个分号(;)让配置默认不生效,如果指令存在并且文件也对应存在,只要把指令前面的分号去掉即可。非常重要的一点是:修改配置文件后要重启Web服务器(Apache或其他),以fast cgi或cgi形式运行PHP时,只要taskkill /f /im php_cgi.exe杀死php-cgi.exe即可,可以不用重启Web服务器。

PHP扩展名 文件名
MySQL php_mysql.dll
MySQLi php_mysqli.dll
PDO(MySQL驱动) php_pdo_mysql.dll

从PHP 5.5.0开始已经废除了PHP的MySQL扩展,不再建议使用mysql_*系列函数来操作MySQL数据库,在PHP 5.5+中使用myql_*系列函数会触发E_DEPRECATED级别的错误,但仍然可以正常操作数据库。

从PHP 7.0.0开始MySQL扩展已经彻底被废除,扩展文件php_mysql.dll被删除,该扩展无法继续使用,在php7.0及更高版本代码中使用mysql_*系列函数会出现类似于以下所示的错误。
  1. Fatal error: Uncaught Error: Call to undefined function mysql_connect() in xxx.php:3 Stack trace: #0 {main} thrown in xxx.php on line 3
复制代码
PHP MySQL扩展过于古老,建议使用完全面向对象的PDO扩展来操作MySQL数据库,当然,使用MySQLi也可以,不过MySQLi是既面向对象又面向过程,是过渡时期的产物,稍微显得有点不伦不类。

如果需要支持古老的MySQL扩展,请使用PHP 5.6,或者更旧的版本。

手机版|轻松E站

轻松E站

快速回复 返回顶部 返回列表