注意!任何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. java源码 -- HashSet

    概述 HashSet是基于HashMap来实现的, 底层采用HashMap的key来保存数据, 借此实现元素不重复, 因此HashSet的实现比较简单, 基本上的都是直接调用底层HashMap的相关方 ...

  2. Spring Boot系列教程十二:Spring boot集成Redis

    一.创建项目 项目名称为 "springboot_redis",创建过程中勾选 "Web","Redis",第一次创建Maven需要下载依赖 ...

  3. LC 3. Longest Substring Without Repeating Characters

    题目描述 Given a string, find the length of the longest substring without repeating characters. Example ...

  4. python之RabbitMQ队列

    一.介绍 RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议. MQ全称为Message Queue, 消息队列(MQ)是一 ...

  5. STM32与ARM代码执行过程

    内存分配 1.ARM(JZ2440) 启动方式: 1)nor启动 注:1.bootloader烧在norflash的0地址 2.将bootloader从norflash中复制到SDRAM中的链接地址( ...

  6. Tokitsukaze and Duel CodeForces - 1191E (博弈论)

    大意: 给定01串, 两人轮流操作, Tokitsukaze先手. 每次操作可以选择长为$k$的区间, 全部替换为$0$或$1$, 若替换后同色则赢. 求最后结果. 先判断第一步是否能直接赢, 不能的 ...

  7. Mysql分表和分区的区别、分库和分表区别

    一,什么是mysql分表,分区 什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看:mysql分表的3种方法. 什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同一个 ...

  8. sql注入测试(1)---概念概述

    在进行java web 测试时,经常会忽略的测试种类就是sql注入测试,这类缺陷造成的原因是开发技术在这方面欠缺的表现,虽然不常见,但一旦有这类缺陷,就很因此对运营的数据造成很多不必要的损失,所以,还 ...

  9. (八)Struts标签基础(一)

    一.Struts标签分类 二.标签的使用 2.1 标签的主题 主题的设置与struts.xml中的常量<constant name="struts.ui.theme" val ...

  10. 安装Docker step by step

    1. 系统要求 centos7以上   使用cat /etc/redhat-release查看系统版本,我的Centos 7.6 centos-extra 仓库 enable,默认是打开的 2.安装d ...