异步MySQL客户端
最后更新于:2022-04-02 06:38:40
# 异步MySQL客户端
[TOC]
`Swoole`在`1.8.6`版本提供了全新的异步MySQL客户端,底层自行实现了`MySQL`的通信协议,无需依赖其他第三方库,如`libmysqlclient`、`mysqlnd`、`mysqli`等。
从`1.8.6`版本开始`Swoole\MySQL`已内置到`Swoole`中,无需通过`--enable-async-mysql`编译参数开启。
## 使用实例
~~~
$db = new swoole_mysql();
$server = array(
'host' => '192.168.56.102',
'port' => 3306,
'user' => 'test',
'password' => 'test',
'database' => 'test',
'charset' => 'utf8', //指定字符集
'timeout' => 2, // 可选:连接超时时间(非查询超时时间),默认为SW_MYSQL_CONNECT_TIMEOUT(1.0)
);
$db->connect($server, function ($db, $r) {
if ($r === false) {
var_dump($db->connect_errno, $db->connect_error);
die;
}
$sql = 'show tables';
$db->query($sql, function(swoole_mysql $db, $r) {
if ($r === false)
{
var_dump($db->error, $db->errno);
}
elseif ($r === true )
{
var_dump($db->affected_rows, $db->insert_id);
}
var_dump($r);
$db->close();
});
});
~~~
';