PHP 提供了多种数据库扩展,其中常用的有三种: MySQL 扩展 MySQLi 扩展 PDO 扩展 MySQLi 扩展是 MySQL 扩展的增强版,它不仅包含了所有 MySQL 扩展的功能函数,还可以使用 MySQL 新版本中的高级特性。例如,多语句执行和事务的支持,预处理方式完全解决了 SQL 注入问题等。MySQLi 扩展只支持MySQL 数据库,如果不考虑其他数据库,该扩展是一个非常好的选择。
PDO 是 PHP Data Objects(数据对象)的简称,它提供了一个统一的 API接口,只要修改其中的 DSN (数据源),就可以实现PHP应用与不同类型数据库服务器之间的交互。
需要注意的是,PHP 中的数据库扩展在使用之前需要开启。打开 PHP 的配置文件 php.ini,去掉前面的注释符号(;),修改后如下所示: extension=php_mysql.dll extension=php_mysqli.dll Extension_dir=‘ext的文件路径’; extension=php_pdo_mysql.dll 保存 php.ini 文件后,重新启动 Apache 服务器,通过 phpinfo() 函数即可查看扩展是否开启。以 MySQLi 扩展为例,具体如图所示。 如何验证我们的mysqli扩展是否可以使用呢?5种方法 返回的结果是true 或false 下面以 PHP 操作 MySQL 的基本操作步骤所涉及的函数为例,对比 MySQL 扩展和 MySQLi 扩展的使用,具体如表所示。
在使用 PHP 操作 MySQL 数据库之前,需要先与 MySQL 数据库服务器建立连接。 PHP 的 MySQLi 扩展可以通过 mysqli_connect() 函数进行数据库连接。 第二种连接数据库的方法 第三种方式:打开连接的同时,并且打开数据库 如果密码写错了,会报错 1)连接并选择数据库 若要完成数据库的连接和选择操作操作,在函数调用时传递参数即可,具体代码如下。 //连接数据库,并通过$mysqli保存连接 $mysqli = new mysqli(‘localhost’, ‘root’, ‘123456’, ‘itcast’);
(2)自定义错误信息 当数据库连接失败时,mysqli_connect() 提示的错误信息并不友好,可以通过下面的方式解决。 //连接数据库,并屏蔽错误信息 $mysqli = @new mysqli(‘localhost’, ‘root’, ‘1’,’test’) 3)设置字符集 在使用 MySQL 命令行工具操作数据库时,需要使用“set names”设置字符集,同样在 PHP 中也需要设置字符集。具体代码如下。 //连接数据库 $ mysqli =new mysqli (‘localhost’, ‘root’, '123456’,’school’); //设置字符集 $mysqli_->set_charset( ‘utf8’); //成功返回true,失败返回false 3)设置字符集 将字符集设置为“utf8”。需要注意的是,只有保持 PHP 脚本文件、Web 服务器返回的编码、网页的 标记、PHP 访问 MySQL 使用的字符集都统一时,才能避免中文出现乱码问题。