400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

swoole学习之异步Mysql

这篇文章将为大家详细讲解有关swoole学习之异步MySQL,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

创新互联建站网站建设提供从项目策划、软件开发,软件安全维护、网站优化(SEO)、网站分析、效果评估等整套的建站服务,主营业务为网站制作、成都网站建设,成都app软件开发公司以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。创新互联建站深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

官方示例:

$db = new swoole_mysql();$server = array(
    'host' => '127.0.0.1',
    'port' => 3306,
    'user' => 'test',
    'password' => 'test',
    'database' => 'test',
    'charset' => 'utf8', //指定字符集
    'timeout' => 2,  // 可选:连接超时时间(非查询超时时间),默认为SW_MYSQL_CONNECT_TIMEOUT(1.0));$db->connect($server, function ($db, $result) {
    if ($result === false) {
        var_dump($db->connect_errno, $db->connect_error);
        die;
    }
    $sql = 'show tables';
    $db->query($sql, function(swoole_mysql $db, $result) {
        if ($result === false)
        {
            var_dump($db->error, $db->errno);
        }
        elseif ($result === true )
        {
            var_dump($db->affected_rows, $db->insert_id);
        }
        var_dump($result);
        $db->close();
    });});

常用函数:

connect($config, $callback) 连接数据库
$config= array(
    'host' => '127.0.0.1',
    'port' => 3306,
    'user' => 'test',
    'password' => 'test',
    'database' => 'test',
    'charset' => 'utf8', //指定字符集
    'timeout' => 2,  // 可选:连接超时时间(非查询超时时间),默认为SW_MYSQL_CONNECT_TIMEOUT(1.0));

$callback回调函数function($db, $result )

query($sql, $callback) 执行sql语句
$sql = "select * from test ";$db->query($sql,function($link,$result){});

$sql为要执行的SQL语句
$callback回调函数
每个MySQLi连接只能同时执行一条SQL,必须等待返回结果才能执行下一条SQL

回调函数function($link,$result)

close关闭连接
 $db->close();

将整个SQL连接关闭

on($event_name,$callback) 回调函数

目前swoole_mysql只有一个onClose回调函数

//mysql连接关闭时,自动触发$db->on('close',function($db){
	echo "mysql connection is closed";});

swoole_mysql中的事物

在官方文档中有详细介绍:

begin(function($db,$result))开启事物
commit($callback)提交事物
rollback($callback)事物回滚

官方示例:

$db->begin(function( $db, $result) {
    $db->query("update userinfo set level = 22 where id = 1", function($db, $result) {
        $db->commit(function($db, $result) {
            echo "commit ok\n";
        });
    });});

关于“swoole学习之异步Mysql”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


文章题目:swoole学习之异步Mysql
分享网址:http://mzwzsj.com/article/iphpcd.html

其他资讯

让你的专属顾问为你服务