mysql连接选mysqli还是PDO

php5以上版本推荐使用mysqli或者pdo(php data objects)连接.

在 PHP 早起版本中我们使用 MySQL 扩展。但该扩展在 2012 年开始不建议使用。

分析:

  PDO 应用在 12 种不同数据库中, MySQLi 只针对 MySQL 数据库。

  所以,如果你的项目需要在多种数据库中切换,建议使用 PDO ,这样你只需要修改连接字符串和部分查询语句即可。 使用 MySQLi, 如果不同数据库,你需要重新编写所有代码,包括查询。

  两者都是面向对象, 但 MySQLi 还提供了 API 接口。

  两者都支持预处理语句。 预处理语句可以防止 SQL 注入,对于 web 项目的安全性是非常重要的。

mysqli安装 通常是自动安装的,可以用phpinfo()查看是否安装成功

PDO安装 Windows 用户,

1,激活只需编辑 php.ini 文件:extension=php_pdo.dll

这一步在 PHP 5.3及更高版本中不是必须的,对于 PDO 不再需要做为一个 DLL 文件。

2,选择其他具体数据库的 DLL 文件,然后要么在运行时用 dl() 载入,要么在 php.ini 中的 php_pdo.dll 后面启用:

extension=php_pdo.dll
extension=php_pdo_firebird.dll
extension=php_pdo_informix.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll  

更改 php.ini 文件后需要重启 PHP 服务才能使新的配置指令生效。
时间: 2024-10-22 17:22:07

mysql连接选mysqli还是PDO的相关文章

mysql 连接 选库 查询

mysql_fetch_row  从结果集中取出一行作为枚举数组 <?php $db_conn=mysql_connect('127.0.0.1','root','123456') or die(cant connect mysql);//连接数据库,如果有错误,则不能连接. mysql_query("set name 'utf8'");  //输出的数据按utf8的格式编码 mysql_query  向数据库发送一次查询 $db_select=mysql_select_db('

php中使用mysqli和pdo扩展,测试连接mysql数据库的效率。

<?php /** * 测试pdo和mysqli的连接效率,各连接100次mysql数据库 */ header("Content-type:text/html;charset=utf8"); //通过pdo链接数据库 $pdo_startTime = microtime(true); for($i=1;$i<=100;$i++){ $pdo = new PDO("mysql:host=localhost;dbname=test","root&q

PHP连接MySQL数据库的三种方式(mysql、mysqli、pdo)

PHP与MySQL的连接有三种API接口,分别是:PHP的MySQL扩展 .PHP的mysqli扩展 .PHP数据对象(PDO) ,下面针对以上三种连接方式做下总结,以备在不同场景下选出最优方案. PHP的MySQL扩展是设计开发允许php应用与MySQL数据库交互的早期扩展.MySQL扩展提供了一个面向过程的接口,并且是针对MySQL4.1.3或者更早版本设计的.因此这个扩展虽然可以与MySQL4.1.3或更新的数据库服务端进行交互,但并不支持后期MySQL服务端提供的一些特性.由于太古老,又

PHP中MySQL、MySQLi和PDO的用法和区别【原创】

对于一个初学PHP的自己,对数据库的连接有着很大的疑惑,从Java转到PHP.数据库连接变了,以前只知道JDBC连接数据库,或者直接用框架调用,对于的PHP的数据库连接方式,及其应用.不是很了解,于是查阅了很多资料及自己实际操作,写下自己的一点总结笔记. PHP的MySQL扩展(优缺点) 设计开发允许PHP应用与MySQL数据库交互的早期扩展.mysql扩展提供了一个面向过程 的接口: 并且是针对MySQL4.1.3或更早版本设计的.因此,这个扩展虽然可以与MySQL4.1.3或更新的数 : 据

[mysql] mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in

From: http://www.ttlsa.com/php/deprecated-mysql-connect/ php 5个版本,5.2.5.3.5.4.5.5,怕跟不上时代,新的服务器直接上5.5,但是程序出现如下错误:Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in,看意思就很明了,说my

PHP中MySQL、MySQLi和PDO的用法和区别

PHP的MySQL扩展(优缺点) 设计开发允许PHP应用与MySQL数据库交互的早期扩展.mysql扩展提供了一个面向过程的接口: 并且是针对MySQL4.1.3或更早版本设计的.因此,这个扩展虽然可以与MySQL4.1.3或更新的数 : 据库服务端 进行交互,但并不支持后期MySQL服务端提供的一些特性. PHP的mysqli扩展 mysqli扩展,我们有时称之为MySQL增强扩展,可以用于使用 MySQL4.1.3或更新版本中新的高级特性: mysqli扩展在PHP 5及以后版本中包含: m

解决Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in

php 5个版本,5.2.5.3.5.4.5.5,怕跟不上时代,新的服务器直接上5.5,但是程序出现如下错误:Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in,看意思就很明了,说mysql_connect这个模块将在未来弃用,请你使用mysqli或者PDO来替代. 解决方法1: 禁止php报错

mac 连接mysql提示 Warning: mysqli::real_connect(): (HY000/2002): No such file or directory

mac 连接mysql的时候提示 Warning: mysqli::real_connect(): (HY000/2002): No such file or directory [说明1]MAC下MYSQL的安装路径:/usr/local/mysql-5.5.28-osx10.6-x86 数据库的数据文件在该目录的data文件夹中: 命令文件在bin文件夹中. [说明2]通过终端打开MYSQL命令行的方法:/usr/local/mysql-5.5.28-osx10.6-x86/bin/mysq

mysql、mysqli、PDO一句话概括

mysql.mysqli.PDO一句话概括比较 1 mysql扩展 (注:原始的,较差) 2 mysqli扩展(面向过程式) (注:比上面多了更多功能) 3 mysqli扩展(面向对象式) (注:比上面更符合面向对象思想) 4 mysqli扩展(面向对象式)(准备语句) (注:比上面更性能和安全) 5 PDO (注:比上面更具跨数据库的移植性) 推荐由下往上优先使用.