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

yipeiwu_com7年前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程序设计有所帮助。

相关文章

PHP导入Excel到MySQL的方法

研究了一下~方法不少~最后决定用Excel导入~在网上搜了很多这方面的资料,发现都是将excel文件另存为csv文件,然后从csv文件导入。这里介绍一个直接将excel文件导入mysql...

MYSQL数据库初学者使用指南

有很多朋友虽然安装好了mysql但却不知如何使用它。在这篇文章中我们就从连接MYSQL、修改密码、增加用户等方面来学习一些MYSQL的常用命令。  一、连接MYSQL。 格式:&...

MYSQL环境变量设置方法

mysql环境变量设置(windows环境) 1、对于命令控来说,在cmd命令下行下操作很方便,但有时需要直接在命令行床空执行mysql这样的命令,会出现”mysql不是内部或外部命令“...

php+mysqli实现批量执行插入、更新及删除数据的方法

本文实例讲述了php+mysqli实现批量执行插入、更新及删除数据的方法。分享给大家供大家参考。具体如下: mysqli批量执行插入/更新/删除数据,函数为 multi_query()。...

PHP mysqli事务操作常用方法分析

本文实例讲述了PHP mysqli事务操作常用方法。分享给大家供大家参考,具体如下: 1、 //打开(true)或关闭(false)本次数据库连接的自动命令提交事务模式 //参数如果...