这篇文章主要为大家详细介绍了解决PHP执行批量MySQL语句的问题,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随512笔记的小玲来看看吧!

当有多条mysql语句连起来需要执行,比如

$sqls= “insert table a values(1,2); insert table a values(2,3);”

需要执行的话php中可以使用的方法有三个:

mysql_query

pdo

mysqli

三种方法当sqls语句没有问题的时候都是可以的。

但是

当sql语句是错误的时候会出现问题

第一条sql错误:三个方法都返回false

第一条sql正确,第二条sql错误:mysql_query、pdo、 mysqli:query也是返回true。所以这个时候你是没法判断你的sqls是否有那条语句是错误的。

解决这种办法有几个招:

1 解析sql语句

将每条sql都拆分开来执行。这样每个语句分开执行就解决了。但是这种方法多出了好几种方法,所以不可取。

2 将sqls语句保存为文本

使用cmd执行命令 mysql…. .< sqls.sql, 然后捕获输出。这也是一种方法,但是感觉是绕着问题走,应该还有更好的方法。

3 使用mysqli::multi_query方法

这个方法可以执行多条sql语句,然后使用mysqli::next_result来设置sql的偏移量,使用mysqli::error获取当前偏移的sql的错误状态

下面是第三种方法的示例代码

代码如下:

代码如下:

$sql = Config::get('sql');

$content = file_get_contents($sql);

$config = Config::get('config')

$mysqli = mysqli_connect($config['host'], $config['user'], $config['password'], $config['dbname']);

$ret = $mysqli->multi_query($content);

if($ret === false) {

echo mysqli_error($mysqli);

}

while (mysqli_more_results($mysqli)) {

if (mysqli_next_result($mysqli) === false) {

echo mysqli_error($mysqli);

echo "\r\n";

break;

}

}

$mysqli->close();

这样的话当sqls语句中任意一条有错误的话,程序就会跳出这个错误。

如果你要编写初始化mysql的脚本的话,这招就非常好用了。

注:关于解决PHP执行批量MySQL语句的问题的内容就先介绍到这里,更多相关文章的可以留意512笔记的其他信息。

关键词:

您可能感兴趣的文章

PHP无法执行MySQL语句,解决PHP执行批量MySQL语句的问题相关推荐

  1. 阿里云 mysql 1045_解决阿里云登录mysql出现的1045错误

    1.centos 系统中使用yum工具安装 mysql. [root@localhost ~]#yum install -y mysql 2.yum install -y mysql后,启动mysql ...

  2. xampp mysql.sock_解决xampp自启动和mysql.sock问题

    装了ubuntu好长一段时间了,都没去用,国庆的时候折腾了下,配置了一些基本的开发环境,一上手就感觉喜欢上了ubuntu,说不上为什么.为了搞本地的测试php测试环境而装了xampp,安装超简单,但是 ...

  3. mysql打不开 10061_mysql 10061报错,mysql 10061解决方法,10061问题,mysql学习,mysql启动

    有时候mysql打不开,出现mysql10061问题 树懒君建议你,先检查MySQL 服务是否启动,如果没有启动则启动这个服务即可解决:如果问题还是没有解决请尝试下面的步骤: 首先要关闭MYSQL服务 ...

  4. mysql using temporary_执行计划中Using filesort,Using temporary相关语句的优化解决_MySQL

    bitsCN.com 昨天听开发人员提到,相关的彩票网页当中一个页面刷新的很慢,特别是在提取数据的时候, 今天早上一到,便去找开发人员要去相关的也没进行浏览,窥探哪些数据出现了问题,开发人员 使用PH ...

  5. mysql五补充部分:SQL逻辑查询语句执行顺序

    mysql五补充部分:SQL逻辑查询语句执行顺序一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析 一 SE ...

  6. 一条SQL语句在MySQL中是如何执行的

    来源:http://t.cn/E6U9Z9T 概览 本篇文章会分析下一个sql语句在mysql中的执行流程,包括sql的查询在mysql内部会怎么流转,sql语句的更新是怎么完成的. 一.mysql架 ...

  7. go mysql 查询语句_01 MySQL-初识MySQL-查询语句的执行流程-Go语言中文社区

    MySQL的基础架构 我们通过一条查询语句来看看MySQL是如何执行的,同时通过这条语句的执行,了解MySQL的整体架构体系.mysql> select * from T where ID=1: ...

  8. mysql中一条SQLupdate语句是如何执行的?redo log 与binlog

    mysql> create table T(id int primary key,c int); mysql> update T set c=c+1 where id=2; 大体流程与查询 ...

  9. 【mysql技术内幕1】mysql基础架构-一条SQL查询语句是如何执行的

    文章目录 1 一条SQL查询语句是如何执行的 2 mysql体系结构 3 InnoDB存储引擎 4 总结 1 一条SQL查询语句是如何执行的 ​ 通常我们使用数据库,都是将数据库看成一个整体,我们的应 ...

最新文章

  1. sql server 2008 故障转移群集
  2. 建立稳定安全的SSH隧道
  3. 抛物线交点式公式_2020“九校联考”中点公式解决平四存在性问题
  4. mxnet基础到提高(4)-- Dense层基础
  5. es6 数组合并_九个前端开发必学超级实用的 ES6 特性
  6. 如何具备无坚不摧的意志力
  7. 正则匹配中文 UTF-8 GBK
  8. 识别人声_演唱人声的5个技巧
  9. 主机安装php网站,php支持虚拟主机(php网站空间)
  10. 乌版图 read-only file system
  11. Java 内存模型(零)
  12. java 输入输出流知识_Java知识点总结(JavaIO-字节流)
  13. 从web页面请求的历程出发了解计算机网络的基础知识
  14. spring 注解方式动态代理
  15. 如何将已有图片做成透明水印_手把手教你如何使用Photoshop CC 2014给图片添加透明水印的教程-网络教程与技术 -亦是美网络...
  16. 航空插头的环境性能科普
  17. WORD目录中一级标题和二级标题小圆点不同的原因
  18. win10截图快捷键是什么|win10截屏按键是哪个
  19. 如何运用3Dmax制作游戏武器模型
  20. Java封装FushionCharts

热门文章

  1. PLSQL 设置布局
  2. Guns 查询列表_入门试炼03
  3. wxpython富文本_去除富文本编辑器中的标签
  4. 将html表格导出到excel表格,table2excel-将HTML表格内容导出到Excel中_html/css_WEB-ITnose...
  5. BugkuCTF-MISC题convert
  6. android如何适配平板,适用于平板电脑、大屏设备和可折叠设备的自适应布局
  7. python处理pdf 层_Python处理PDF及生成多层PDF实例代码
  8. 蚂蚁森林快捷指令_iPhone「快捷指令」怎么玩?玩法太多,别让这个功能吃灰
  9. apache mysql 登陆_Apache站点,注册登陆功能的实现
  10. c语言字符型计算器,求用c语言编程四则混合运算计算器?