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
相似问题