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


Posted in PHP onOctober 24, 2019

本文实例讲述了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 Swoole异步MySQL客户端实现方法示例

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

PHP 相关文章推荐
一个用于网络的工具函数库
Oct 09 PHP
让你的WINDOWS同时支持MYSQL4,MYSQL4.1,MYSQL5X
Dec 06 PHP
PHP面向对象编程快速入门
Dec 14 PHP
php str_pad() 将字符串填充成指定长度的字符串
Feb 23 PHP
php上的memcache和memcached两个pecl库
Mar 29 PHP
探讨方法的重写(覆载)详解
Jun 08 PHP
thinkphp 多表 事务详解
Jun 17 PHP
详解使用php调用微信接口上传永久素材
Apr 11 PHP
PHP编程中的Session阻塞问题与解决方法分析
Aug 07 PHP
PHP bin2hex()函数基础实例讲解
Feb 11 PHP
laravel5.6 框架操作数据 Eloquent ORM用法示例
Jan 26 PHP
PHP接口类(interface)的定义、特点和应用示例
May 18 PHP
laravel 查询数据库获取结果实现判断是否为空
Oct 24 #PHP
Laravel实现ORM带条件搜索分页
Oct 24 #PHP
PHP调用QQ互联接口实现QQ登录网站功能示例
Oct 24 #PHP
Laravel监听数据库访问,打印SQL的例子
Oct 24 #PHP
在laravel中实现ORM模型使用第二个数据库设置
Oct 24 #PHP
浅谈laravel aliases别名的原理
Oct 24 #PHP
Laravel 模型使用软删除-左连接查询-表起别名示例
Oct 24 #PHP
You might like
dede3.1分页文字采集过滤规则详说(图文教程)续四
2007/04/03 PHP
php获取当月最后一天函数分享
2015/02/02 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
2016/05/20 PHP
laravel5.2表单验证,并显示错误信息的实例
2019/09/29 PHP
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
2007/02/09 Javascript
菜鸟学习JavaScript小实验之函数引用
2010/11/17 Javascript
关于捕获用户何时点击window.onbeforeunload的取消事件
2011/03/06 Javascript
JS函数实现动态添加CSS样式表文件
2012/12/15 Javascript
jquery 延迟执行实例介绍
2013/08/20 Javascript
jquery获得当前html页面源码的方法
2015/07/14 Javascript
js的各种排序算法实现(总结)
2016/07/23 Javascript
javascript设计模式Constructor(构造器)模式
2016/08/19 Javascript
javascript深拷贝(deepClone)详解
2016/08/24 Javascript
Javascript6中字符串的四个新用法分享
2016/09/11 Javascript
Javascript中的神器——Promise
2017/02/08 Javascript
微信小程序中hidden不生效原因的解决办法
2017/04/26 Javascript
jQuery插件ImgAreaSelect实现头像上传预览和裁剪功能实例讲解一
2017/05/26 jQuery
javascript基础进阶_深入剖析执行环境及作用域链
2017/09/05 Javascript
详解Webpack+Babel+React开发环境的搭建的方法步骤
2018/01/09 Javascript
Laravel整合Bootstrap 4的完整方案(推荐)
2018/01/25 Javascript
JS内部事件机制之单线程原理
2018/07/02 Javascript
[44:10]2018DOTA2亚洲邀请赛 4.5 淘汰赛 EG vs VP 第一场
2018/04/06 DOTA
Python 检查数组元素是否存在类似PHP isset()方法
2014/10/14 Python
Python读取mp3中ID3信息的方法
2015/03/05 Python
Pycharm学习教程(5) Python快捷键相关设置
2017/05/03 Python
Python进阶-函数默认参数(详解)
2017/05/18 Python
Python调用ctypes使用C函数printf的方法
2017/08/23 Python
python快速建立超简单的web服务器的实现方法
2018/02/17 Python
浅谈Tensorflow由于版本问题出现的几种错误及解决方法
2018/06/13 Python
python3 对list中每个元素进行处理的方法
2018/06/29 Python
python多环境切换及pyenv使用过程详解
2019/09/27 Python
python hmac模块验证客户端的合法性
2020/11/07 Python
HTML5触摸事件(touchstart、touchmove和touchend)的实现
2020/05/08 HTML / CSS
什么是View State?
2013/01/27 面试题
公司人力资源的自我评价
2014/01/02 职场文书
说明书怎么写
2014/05/06 职场文书