PHP无法执行MySQL语句,解决PHP执行批量MySQL语句的问题
这篇文章主要为大家详细介绍了解决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语句的问题相关推荐
- 阿里云 mysql 1045_解决阿里云登录mysql出现的1045错误
1.centos 系统中使用yum工具安装 mysql. [root@localhost ~]#yum install -y mysql 2.yum install -y mysql后,启动mysql ...
- xampp mysql.sock_解决xampp自启动和mysql.sock问题
装了ubuntu好长一段时间了,都没去用,国庆的时候折腾了下,配置了一些基本的开发环境,一上手就感觉喜欢上了ubuntu,说不上为什么.为了搞本地的测试php测试环境而装了xampp,安装超简单,但是 ...
- mysql打不开 10061_mysql 10061报错,mysql 10061解决方法,10061问题,mysql学习,mysql启动
有时候mysql打不开,出现mysql10061问题 树懒君建议你,先检查MySQL 服务是否启动,如果没有启动则启动这个服务即可解决:如果问题还是没有解决请尝试下面的步骤: 首先要关闭MYSQL服务 ...
- mysql using temporary_执行计划中Using filesort,Using temporary相关语句的优化解决_MySQL
bitsCN.com 昨天听开发人员提到,相关的彩票网页当中一个页面刷新的很慢,特别是在提取数据的时候, 今天早上一到,便去找开发人员要去相关的也没进行浏览,窥探哪些数据出现了问题,开发人员 使用PH ...
- mysql五补充部分:SQL逻辑查询语句执行顺序
mysql五补充部分:SQL逻辑查询语句执行顺序一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析 一 SE ...
- 一条SQL语句在MySQL中是如何执行的
来源:http://t.cn/E6U9Z9T 概览 本篇文章会分析下一个sql语句在mysql中的执行流程,包括sql的查询在mysql内部会怎么流转,sql语句的更新是怎么完成的. 一.mysql架 ...
- go mysql 查询语句_01 MySQL-初识MySQL-查询语句的执行流程-Go语言中文社区
MySQL的基础架构 我们通过一条查询语句来看看MySQL是如何执行的,同时通过这条语句的执行,了解MySQL的整体架构体系.mysql> select * from T where ID=1: ...
- 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; 大体流程与查询 ...
- 【mysql技术内幕1】mysql基础架构-一条SQL查询语句是如何执行的
文章目录 1 一条SQL查询语句是如何执行的 2 mysql体系结构 3 InnoDB存储引擎 4 总结 1 一条SQL查询语句是如何执行的 通常我们使用数据库,都是将数据库看成一个整体,我们的应 ...
最新文章
- sql server 2008 故障转移群集
- 建立稳定安全的SSH隧道
- 抛物线交点式公式_2020“九校联考”中点公式解决平四存在性问题
- mxnet基础到提高(4)-- Dense层基础
- es6 数组合并_九个前端开发必学超级实用的 ES6 特性
- 如何具备无坚不摧的意志力
- 正则匹配中文 UTF-8 GBK
- 识别人声_演唱人声的5个技巧
- 主机安装php网站,php支持虚拟主机(php网站空间)
- 乌版图 read-only file system
- Java 内存模型(零)
- java 输入输出流知识_Java知识点总结(JavaIO-字节流)
- 从web页面请求的历程出发了解计算机网络的基础知识
- spring 注解方式动态代理
- 如何将已有图片做成透明水印_手把手教你如何使用Photoshop CC 2014给图片添加透明水印的教程-网络教程与技术
-亦是美网络...
- 航空插头的环境性能科普
- WORD目录中一级标题和二级标题小圆点不同的原因
- win10截图快捷键是什么|win10截屏按键是哪个
- 如何运用3Dmax制作游戏武器模型
- Java封装FushionCharts
热门文章
- PLSQL 设置布局
- Guns 查询列表_入门试炼03
- wxpython富文本_去除富文本编辑器中的标签
- 将html表格导出到excel表格,table2excel-将HTML表格内容导出到Excel中_html/css_WEB-ITnose...
- BugkuCTF-MISC题convert
- android如何适配平板,适用于平板电脑、大屏设备和可折叠设备的自适应布局
- python处理pdf 层_Python处理PDF及生成多层PDF实例代码
- 蚂蚁森林快捷指令_iPhone「快捷指令」怎么玩?玩法太多,别让这个功能吃灰
- apache mysql 登陆_Apache站点,注册登陆功能的实现
- c语言字符型计算器,求用c语言编程四则混合运算计算器?