4.2版本的swoole_mysql调用抛出警告了,是不是swoole文档没有更新呢
来源:5-5 异步Mysql详解(上)
芭菲雨
2019-01-24
警告内容说是4.3.0以后这个api将会被取代建议我用coroutine APIS 替代
代码如下:
<?php
/**
* 异步mysql
* PHP version 7.2
* @author v_lihuan1 * @date 2019/1/24 9:07
*/
class AsyMysql{
public $dbSource = null;
public $dbConfig = array();
public function __construct()
{
$this->dbSource = new swoole_mysql();
$this->dbConfig = array(
"host" => "*.*.*.*",
"port" => 3306,
"user" => "***",
"password" => "****",
"database" => "test",
"charset" => "utf8",
"timeout" => 2,
);
}
/**
* 测试mysql异步执行
* @param $id
* @param $name
*/
public function execute($id, $name)
{
$this->dbSource->connect($this->dbConfig, function ($db, $result) use ($id, $name) {
if ($result == true) {
$sql = "update user set name='{$name}' where id={$id}";
$db->query($sql, function ($db, $result) {
if ($result == true) {
echo "execute success" . PHP_EOL;
} else {
echo "execute error" . PHP_EOL;
}
$db->close();
});
} else {
echo "connect error" . PHP_EOL;
}
});
return true;
}
}
$asmysql = new AsyMysql();
$result = $asmysql->execute('1','test1');
var_dump($result);警告截图:

替代的是怎么个写法呢
写回答
1回答
-
同学您好。 异步Mysql 即将被移出,建议使用协程Mysql 官网里面有协程mysql的使用,您看看 如果有问题欢迎随时找我沟通。祝您学习愉快。
https://wiki.swoole.com/wiki/page/p-coroutine_mysql.html
022019-01-25
相似问题