PHP Swoole异步MySQL客户端实现方法示例

yipeiwu_com6年前Mysql基础

本文实例讲述了PHP Swoole异步MySQL客户端实现方法。分享给大家供大家参考,具体如下:

使用函数:swoole_mysql

使用版本:1.8.6及以上

把官方文档的例子改写成了面向对象的形式,示例如下:

SwooleMysql.php:

<?php
class SwooleMysql {
  public $db = "";
  public $server = [];
  public function __construct() {
    //实例化
    $this->db = new swoole_mysql();
    //配置参数
    $this->server = [
      'host' => '127.0.0.1',
      'port' => 3306,
      'user' => 'root',
      'password' => 'xxooni',
      'database' => 'lws',
      'charset' => 'utf8',
      'timeout' => 2, // 可选:连接超时时间(非查询超时时间),默认为SW_MYSQL_CONNECT_TIMEOUT(1.0)
    ];
  }
  //执行SQL语句操作
  public function execute($sql) {
    $this->db->connect($this->server, function($db, $res) use($sql) {
      echo "连接MySQL...\n";
      if($res === false) {
        var_dump($db->connect_errno, $db->connect_error);
        die;
      }
      $db->query($sql, function($db, $res){
        if($res === false) {
          var_dump($db->error, $db->errno);
        }elseif($result === true) {
          var_dump($db->affected_rows, $db->insert_id);
        }
        var_dump($res);
        $db->close();
      });
    });
    return true;
  }
}
$obj = new SwooleMysql();
$sql = 'select `article_title` from `lws_article` where `article_id`=66';
$res = $obj->execute($sql);
var_dump($res);
echo "lws\n";

运行结果:

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP扩展开发教程》、《PHP网络编程技巧总结》、《php curl用法总结》、《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《php字符串(string)用法总结

希望本文所述对大家PHP程序设计有所帮助。

相关文章

解析mysql 表中的碎片产生原因以及清理

大量删除数据必然会在数据文件中造成不连续的空白空间,而当插入数据时,这些空白空间则会被利用起来 。对于不同的存储引擎整理碎片的方式不一样。myisam可以有以下方式:mysql>...

php更新mysql后获取影响的行数发生异常解决方法

从manual上知道了mysql_affected_rows函数当UPDATE前后的数据一样时会返回异常值, 下面有个方便的解决办法,从官方munual上看到 bdobrica at g...

在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境

在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境

安装前的准备工作: 在c盘或者d盘的根目录下创建一个文件夹,名称您可以自行确定。我们这里在d盘根目录下创建一个叫oServer的文件夹。 1.下载PHP a)访问http://w...

mysqli扩展无法在PHP7下升级问题的解决

mysqli扩展无法在PHP7下升级问题的解决

前言 这几天在想部署一个OAuth服务,找了一个PHP的开源实现,由于要求的PHP版本比较高,就打算在自己的ECS上(PHP7.1)先测试下,没想到遇到了一些问题。 首先发现mysqli...

php并发对MYSQL造成压力的解决方法

PHP页面有一个浏览量统计每秒有200并发,造成insert给mysql造成很大压力 lnmp环境,其他页面内容都做了缓存了,没有多大的负载,就是这个浏览量统计功能,给mysql带来不小...