php教程

超轻量级php框架startmvc

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

更新时间:2020-04-13 00:59:46 作者:startmvc
本文实例讲述了PHPSwoole异步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 Swoole 异步 MySQL