注意!任何swoole函数都应该包含在go(function(){})

  • 经典查询方法query()
go(function (){
$swoole_mysql = new Swoole\Coroutine\MySQL();
$swoole_mysql->connect([
'host' => '127.0.0.1',
'port' => ,
'user' => 'root',
'password' => 'xxxx',
'database' => 'xxxxdb',
]);
$res = $swoole_mysql->query('select * from colname');
if($res === false) {
return;
}
foreach ($res as $value) {
echo $value['comment'].PHP_EOL;
}
});
  • 增强型---防止SQL注入攻击的方法
<?php
use Swoole\Coroutine as co;
co::create(function (){
$db = new co\MySQL();
$config=array(
'host'=>'localhost',
'database'=>'xxxxdb',
'user'=>'root',
'password'=>'xxxx',
'fetch_mode' => true,
);
$db->connect($config);
$stmt = $db->prepare("select * from colname");
$stmt->execute();
$res=$stmt->fetchAll();
var_dump($res);
});
  • 增强型---带参数的查询样例
<?php
use Swoole\Coroutine as co;
co::create(function (){
$db = new co\MySQL();
$config=array(
'host'=>'localhost',
'user'=>'root',
'database'=>'xxxxdb',
'password'=>'xxxx',
'fetch_mode'=>true,
);
$db->connect($config);
$stmt = $db->prepare('select * from colname where tblbelongs=? and bz=?');
var_dump($stmt);
$stmt->execute(array('incomedoc_mx','s'));
var_dump($stmt->fetchAll());
});
  • 插入语句---普通版本
<?php

go(function (){
$swoole_mysql = new Swoole\Coroutine\MySQL();
$swoole_mysql->connect([
'host' => '127.0.0.1',
'port' => ,
'user' => 'root',
'password' => 'xxxx',
'database' => 'xxxxdb',
]);
$swoole_mysql->begin();
$swoole_mysql->query("insert into testpic set topic=1 ");
$swoole_mysql->commit();
});
  • 插入语句---带预先处理
<?php
use Swoole\Coroutine as co; go(function (){
co::create(function() {
$db = new co\MySQL();
$server = array(
'host' => '127.0.0.1',
'user' => 'root',
'password' => 'xxxx',
'database' => 'xxxdb',
); $ret1 = $db->connect($server);
$stmt = $db->prepare('insert into testpic set topic=?, recdate=?');
if ($stmt == false)
{
var_dump($db->errno, $db->error);
}
else
{
$ret2 = $stmt->execute(array('cpc and cj will marry me','2019-10-08'));
var_dump($ret2);
}
}); });

swoole组件----mysql查询,插入数据的更多相关文章

  1. MySQL数据库插入数据出现 ERROR 1526 (HY000): Table has no partition for value xxx

    MySQL数据库插入数据出现ERROR 1526 (HY000): Table has no partition for value xxx工作的时候发现无法插入数据,报错:ERROR 1526 (H ...

  2. Python向mysql数据库插入数据

    一.向表tcolor中插入数据的主要流程如下: import datetimeimport pymysql.cursorsconnection = pymysql.connect(host='loca ...

  3. MySQL查询关键数据方法

    MySQL查询关键数据方法 操作表的SQL语句补充 1.修改表名 alter table 表名 reame 新表名: 2.新增字段名 alter table 表名 add 字段名 字段类型(数字) 约 ...

  4. MySQL大批量插入数据

    MySQL大批量插入数据 1. 对于Myisam类型的表,可以通过以下方式快速的导入大量的数据. ALTER  TABLE  tblname  DISABLE  KEYS; loading  the  ...

  5. Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer 关于Newtonsoft.Json,LINQ to JSON的一个小demo mysql循环插入数据、生成随机数及CONCAT函数 .NET记录-获取外网IP以及判断该IP是属于网通还是电信 Guid的生成和数据修整(去除空格和小写字符)

    Visual Studio 2017 - Windows应用程序打包成exe文件(2)- Advanced Installer   Advanced Installer :Free for 30 da ...

  6. MySql查询分页数据

    MySql查询分页数据

  7. MySQL之插入数据(添加数据)-INSERT

    基本语法: INSERT 语句有两种语法形式,分别是 INSERT…VALUES 语句和 INSERT…SET 语句. 1.INSERT...VLAUES语句 INSERT VLAUES的语法格式如下 ...

  8. 关于mysql数据库插入数据,不能插入中文和出现中文乱码问题

    首先,推荐一篇博客:http://www.cnblogs.com/sunzn/archive/2013/03/14/2960248.html 当时,我安装完mysql数据库后,新建一个数据库后插入数据 ...

  9. eclipse连接mysql,插入数据时乱码

    问题:如果eclipse中项目的编码方式为utf-8 插入数据后,在数据库中查看后,汉字出现乱码情况 解决方法: 1.在获取连接的时候将conn = DriverManager.getConnecti ...

随机推荐

  1. B9 Concurrent 重入锁(ReentrantLock)

    [概述] java.util.concurrent.locks.ReentrantLock 实现 java.util.concurrent.locks.Lock 接口,加锁(lock)和 解锁(unl ...

  2. Html大段文本自适应换行显示-SSM

    只处理前端: <style> .ctl{ table-layout:fixed } .ctl td{ word-break:break-all } </style> <d ...

  3. 向前引用 ? float VS long ? 这些知识你懂吗?

    thinking in java 读书笔记(感悟): 作者:淮左白衣 : 写于 2018年4月2日18:14:15 目录 基本数据类型 float 和 long 谁更大 System.out.prin ...

  4. 【C++札记】new和delete

    介绍 1.malloc,free和new,delete区别. a.malloc,free是C/C++的标准库函数.new,delete是c++的操作符. b.malloc申请的是内存,严格意义不是&q ...

  5. 只学python行吗

    常言道:"流水的语言,铁打的Python",目前它可以说是已经"睥睨天下,傲视群雄"了.它天生丽质,易于读写,非常实用,从而赢得了 广泛的群众基础,被誉为&qu ...

  6. 设计Qt风格的C++API

    在奇趣(Trolltech),为了改进Qt的开发体验,我们做了大量的研究.这篇文章里,我打算分享一些我们的发现,以及一些我们在设计Qt4时用到的原则,并且展示如何把这些原则应用到你的代码里. 优秀AP ...

  7. IOS+H5页面自定义按钮无效

    在IOS整合H5页面的时候,自定义的按钮失去效果,Android系统可以. 如图,确定和取消按钮在IOS系统无效. 解决办法是在两个按钮上加上一个style属性即可 <span class=&q ...

  8. C#如何调用C++(进阶篇)

    上一篇文章最后,提出的一个问题:如果一个c++库中有很多方法,需要一个个声明??这样岂不是要写很多代码??,而且没有智能提示看到提供了那些方法. 如下图: 如果有朋友需要用这种方式调用,而又不知道怎么 ...

  9. JS基础_this

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. datagrid行内编辑

    编辑属性 :editor: { type: 'text'} $('#listShow').datagrid({ height : 478, pagesize : 20, pageList : [20, ...