PHP Swoole异步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程序设计有所帮助。

(0)

相关推荐

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

    本文实例讲述了PHP Swoole异步Redis客户端实现方法.分享给大家供大家参考,具体如下: 使用版本:1.8.0及以上 使用条件: 1.开启async-redis php --ri swoole (如果没有开启,重新编译安装Swoole时加入 --enable-async-redis  相关文章:Linux下源码包安装Swoole及基本使用) 2.安装hiredis: CentOS yum install libhiredis-devel Ubuntu: apt install libhi

  • PHP扩展Swoole实现实时异步任务队列示例

    本文实例讲述了PHP扩展Swoole实现实时异步任务队列.分享给大家供大家参考,具体如下: 假如要发100封邮件,for循环100遍,用户直接揭竿而起,什么破网站! 但实际上,我们很可能有超过1万的邮件.怎么处理这个延迟的问题? 答案就是用异步.把"发邮件"这个操作封装,然后后台异步地执行1万遍.这样的话,用户提交网页后,他所等待的时间只是"把发邮件任务请求推送进队列里"的时间.而我们的后台服务将在用户看不见的地方跑. 在实现"异步队列"这点上,

  • PHP swoole和redis异步任务实现方法分析

    本文实例讲述了PHP swoole和redis异步任务实现方法.分享给大家供大家参考,具体如下: redis异步任务 interface.php <?php for($i=0;$i<100;$i++){ $msg = "zhezhao[".$i."]"; $redis = new Redis(); $redis->connect("127.0.0.1"); $redis->publish("test",

  • PHP Swoole异步读取、写入文件操作示例

    本文实例讲述了PHP Swoole异步读取.写入文件操作.分享给大家供大家参考,具体如下: 异步读取文件:swoole_async_readfile 异步写入文件:swoole_async_writefile [示例] 读取文件 readfile.php: <?php $res = swoole_async_readfile(__DIR__."/1.txt", function($filename, $content) { echo "文件名:{$filename} 内

  • php基于 swoole 实现的异步处理任务功能示例

    本文实例讲述了php基于 swoole 实现的异步处理任务功能.分享给大家供大家参考,具体如下: 安装swoole: 下载官方swoole压缩包,解压进入目录 $ cd swoole # 进入 swoole 目录 $ phpize $ ./configure --with-php-config=/usr/local/php/bin/php-config #注意查看服务器上是否有这个路径 $ make && make install 修改php.in文件 vi /usr/local/php/

  • 详解thinkphp5+swoole实现异步邮件群发(SMTP方式)

    本文介绍了thinkphp5+swoole实现异步邮件群发(SMTP方式),分享给大家,具体如下: 1.环境说明 阿里云centos7 thinkphp5.0.11 swoole2.0.8 2.tp实现邮件发送 在项目下建立如下的文件目录: 其中SendMail.php是我们实际调用的发送邮件的文件.以下是主要代码: namespace app\library\utils\mail; use app\library\utils\mail\PhpMailer; use app\library\ut

  • php安装swoole扩展的方法

    本文实例讲述了php安装swoole扩展的方法.分享给大家供大家参考.具体如下: 我本机是OS X,想要安装swoole体验一下,于是: 复制代码 代码如下: andy@AndyMacBookPro:/usr/local/webdata/github$ cd swoole-src/ andy@AndyMacBookPro:/usr/local/webdata/github/swoole-src$ git pull Already up-to-date. andy@AndyMacBookPro:/

  • php异步多线程swoole用法实例

    本文实例讲述了php异步多线程swoole用法.分享给大家供大家参考.具体分析如下: swoole重新定义PHP语言的高性能网络通信框架,提供了PHP语言的异步多线程服务,下面的实例就可以证实这一功能. 一般来说,Swoole提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询. swoole以前听过, 拿来做游戏服务器简直是神器-今天稍微的感受了一下,  在 ubuntu 下搭建了

  • PHP的swoole扩展安装方法详细教程

    Swoole支持PHP 5.3.10以上版本,所以安装Swoole之前请先安装PHP 5.3.10以上版本,现在来介绍Windows下PHP安装配置方法. 软件版本:php-5.3.1-Win32-VC6-x86.zip 这个不需要额外的安装.net的库,所以就用这个了.可以使用其他的. 1.PHP安装 使用绿色方式,下载Zip文件解压. 2.配置 在解压的根目录下找到php.ini-development,是用于开发环境的配置文件:还有一个php.ini-production,这个是用于生产环

  • Swoole实现异步投递task任务案例详解

    本文实例讲述了Swoole实现异步投递task任务案例.分享给大家供大家参考,具体如下: [使用场景] Swolle的task模块可以用来做一些异步的慢速任务.耗时场景.如webim中发广播,发送邮件等,把这些任务丢给task进程之后,worker进程可以继续处理新的数据请求,任务完成后会异步通知worker进程告诉它此任务已经完成.此外利用task还可以实现PHP的数据库连接池,异步队列等. [使用须知] 必须设置Task进程数: task_worker_num 投递一个异步任务到task_w

随机推荐