函数名称:Swoole\Coroutine\MySQL::query()
适用版本:Swoole v4.4.0+
函数用途:该函数用于在Swoole协程环境中执行MySQL查询语句。
函数语法:public Swoole\Coroutine\MySQL::query(string $sql, float $timeout = -1)
参数说明:
- $sql:要执行的SQL查询语句。
- $timeout(可选):超时时间,单位为秒,默认为-1,表示不设置超时。
返回值:
- 成功时,返回查询结果,类型为Swoole\Coroutine\MySQL\Statement对象。
- 失败时,返回false。
示例代码:
<?php
use Swoole\Coroutine\MySQL;
// 创建MySQL协程客户端
$mysql = new MySQL();
// 连接MySQL服务器
$serverConfig = [
'host' => '127.0.0.1',
'port' => 3306,
'user' => 'root',
'password' => 'password',
'database' => 'mydb',
];
$mysql->connect($serverConfig);
// 执行查询语句
$sql = 'SELECT * FROM users';
$result = $mysql->query($sql);
// 处理查询结果
if ($result === false) {
echo "Error: " . $mysql->error . PHP_EOL;
} else {
while ($row = $result->fetch()) {
print_r($row);
}
}
// 关闭MySQL连接
$mysql->close();
在上面的示例中,我们首先创建了一个Swoole\Coroutine\MySQL对象,并使用connect()方法连接到MySQL服务器。然后,我们执行了一个查询语句,并通过query()方法传入要执行的SQL语句。最后,我们使用fetch()方法逐行获取查询结果,并进行处理。
请注意,在使用Swoole协程环境中,我们可以在一个协程中使用多个MySQL连接,而不会阻塞其他协程的执行。