php连接mysql的驱动支持
请使用mysqlnd php官方原生驱动。编译参数中需要加如下
./configure --with-mysql=mysqlnd \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \
三种(mysql,mysqli,pdo-mysql)php连接 mysql api接口都采用mysqlnd驱动。
php连接mysql的三种api(mysql,mysqli,pdo-mysql)
php连接mysql的三种api示例
<?php
// mysqli
$mysqli = new mysqli("example.com", "user", "password", "database");
$result = $mysqli->query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
$row = $result->fetch_assoc();
echo htmlentities($row['_message']);
// PDO
$pdo = new PDO('mysql:host=example.com;dbname=database', 'user', 'password');
$statement = $pdo->query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
$row = $statement->fetch(PDO::FETCH_ASSOC);
echo htmlentities($row['_message']);
// mysql
$c = mysql_connect("example.com", "user", "password");
mysql_select_db("database");
$result = mysql_query("SELECT 'Hello, dear MySQL user!' AS _message FROM DUAL");
$row = mysql_fetch_assoc($result);
echo htmlentities($row['_message']);
?>
PHP中三种主要的MySQL连接方式的功能:
| PHP的mysqli扩展 | PDO (使用PDO MySQL驱动和MySQL Native驱动) | PHP的mysql扩展 | |
|---|---|---|---|
| 引入的PHP版本 | 5.0 | 5.0 | 3.0之前 |
| PHP5.x是否包含 | 是 | 是 | 是 |
| MySQL开发状态 | 活跃 | 在PHP5.3中活跃 | 仅维护 |
| 在MySQL新项目中的建议使用程度 | 建议 – 首选 | 建议 | 不建议 |
| API的字符集支持 | 是 | 是 | 否 |
| 服务端prepare语句的支持情况 | 是 | 是 | 否 |
| 客户端prepare语句的支持情况 | 否 | 是 | 否 |
| 存储过程支持情况 | 是 | 是 | 否 |
| 多语句执行支持情况 | 是 | 大多数 | 否 |
| 是否支持所有MySQL4.1以上功能 | 是 | 大多数 | 否 |
| ext/mysqli | PDO_MySQL | ext/mysql | |
|---|---|---|---|
| PHP version introduced | 5.0 | 5.1 | 2.0 |
| Included with PHP 5.x | Yes | Yes | Yes |
| Development status | Active | Active | Maintenance only |
| Lifecycle | Active | Active | Deprecated |
| Recommended for new projects | Yes | Yes | No |
| OOP Interface | Yes | Yes | No |
| Procedural Interface | Yes | No | Yes |
| API supports non-blocking, asynchronous queries with mysqlnd | Yes | No | No |
| Persistent Connections | Yes | Yes | Yes |
| API supports Charsets | Yes | Yes | Yes |
| API supports server-side Prepared Statements | Yes | Yes | No |
| API supports client-side Prepared Statements | No | Yes | No |
| API supports Stored Procedures | Yes | Yes | No |
| API supports Multiple Statements | Yes | Most | No |
| API supports Transactions | Yes | Yes | No |
| Transactions can be controlled with SQL | Yes | Yes | Yes |
| Supports all MySQL 5.1+ functionality | Yes | Most | No |
扩展阅读:
php连接mysql的驱动支持 http://www.php.net/manual/zh/mysqlnd.install.php
php连接mysql api mysqil http://php.net/manual/zh/mysqli.overview.php
php连接mysql 三种api的选择 https://php.net/manual/zh/mysqlinfo.api.choosing.php