该连接方式也叫 Original MySQL,PHP4版本的MYSQL扩展,从PHP5起已经被废弃,并别从PHP7开始已经被移除。
在php5版本之前,一般是用php的mysql函数去驱动mysql数据库的,比如mysql_query()的函数,属于面向过程。
mysql是非持继连接函数,mysql每次链接都会打开一个连接的进程。
二、MySQLi (面向对象)
MySQLi extension ("i" 意为 improved),即MySQL增强扩展,在php5版本以后,增加了mysqli的函数功能,某种意义上讲,它是mysql系统函数的增强版,更稳定更高效更安全,与mysql_query()对应的有mysqli_query(),属于面向对象,用对象的方式操作驱动mysql数据库。
mysqli是永远连接函数,mysqli多次运行mysqli将使用同一连接进程,从而减少了服务器的开销。mysqli封装了诸如事务等一些高级操作,同时封装了DB操作过程中的很多可用的方法。
Linux 和 Windows: 在 php5 mysql 包安装时 MySQLi 扩展多数情况下是自动安装的。可以通过 phpinfo() 查看是否安装成功:
三、MySQLi (面向过程)
四、PDO (PHP Data Objects)
PDO 应用在 12 种不同数据库中, MySQLi 只针对 MySQL 数据库。
所以,如果你的项目需要在多种数据库中切换,建议使用 PDO ,这样你只需要修改连接字符串和部分查询语句即可。 使用 MySQLi, 如果不同数据库,你需要重新编写所有代码,包括查询。
可以通过 phpinfo() 查看是否安装成功:
五、其他需要说明的情况
(1)Class 'mysqli' not found问题
首先检查php.ini中的extension_dir 地址是不是指向了php目录的ext目录下,如:extension_dir = "D:/Program Files/php-7.2.10/ext",一定要用全路径。(这个地方设置不好,所有的php扩展都不起作用)
其次检查php.ini中mysqli的extension是否打开(去掉前面的分号),去掉extension=php_mysqli.dll前面的分号。