ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# Coroutine\\MySQL->query [TOC] 执行SQL语句 ~~~ array|bool query(string $sql, double $timeout = -1) ~~~ * `$sql`:SQL语句 * `$timeout`:超时时间,`$timeout`如果小于或等于`0`,表示永不超时。在规定的时间内`MySQL`服务器未能返回数据,底层将返回`false`,设置错误码为`110`,并切断连接 * 返回值:超时/出错返回`false`,否则以数组形式返回查询结果 ~~~ $swoole_mysql = new Swoole\Coroutine\MySQL(); $swoole_mysql->connect([ 'host' => '127.0.0.1', 'port' => 3306, 'user' => 'user', 'password' => 'pass', 'database' => 'test', ]); $res = $swoole_mysql->query('select * from $table'); if($res === false) { return; } foreach ($res as $value) { echo $value['f_filed_name']; } ~~~ ## 延迟接收 设置`defer`后,调用`query`会直接返回`true`。调用`recv`才会进入协程等待,返回查询的结果。