pdo 错误 php,多语句查询中的PHP PDO错误

我在我的一个实时网络应用程序中遇到了这个问题.看来如果你通过PHP PDO向MysqL发出一个多语句查询,并且第一个语句是一个insert语句,而第二个语句是一个update语句,那么PDO :: nextRowset()函数不会返回正确的数字结果集(请注意,自PHP 5.3起,PDO应该支持每个MySQL查询的多个语句.)

这是一个例子:

create database `test`character set utf8 collate utf8_general_ci;

create table `test`.`testtable`( `id` int );

PHP

$link = new \PDO('MysqL:host=localhost;dbname=test','username','password');

//Run one of the 4 $handle assignments at a time (comment out all but one).

//Run #4 on an empty table to compare the results of #1 and #4.

//WORKS: INSERT,followed by SELECT,followed UPDATE

//Output:

//Rowset 1

//Rowset 2

//Results detected

$handle = $link->prepare(' insert into testtable(id) values(1);

select * from testtable where id = ?;

update testtable set id = 2 where id = ?;');

//WORKS: SELECT,followed by UPDATE

//Output:

//Rowset 1

//Results detected

$handle = $link->prepare('select * from testtable where id = ?;

update testtable set id = 2 where id = ?;');

//WORKS: UPDATE,followed by SELECT

//Output:

//Rowset 1

//Rowset 2

//Results detected

$handle = $link->prepare('select * from testtable where id = ?;

update testtable set id = 2 where id = ?;');

//DOESN'T WORK: INSERT,followed by UPDATE,followed by SELECT

//Output:

//Rowset 1

//Expected output: same as examples 1 and 3

$handle = $link->prepare('insert into testtable(id) values(1);

update testtable set id = 2 where id = ?;

select * from testtable where id = ?;');

$handle->bindValue('1','1');

$handle->bindValue('2','2');

$handle->execute();

$i = 1;

do{

print('Rowset ' . $i++ . "\n");

if($handle->columnCount() > 0)

print("Results detected\n");

}while($handle->nextRowset());

?>

有没有人知道我做错了什么?为什么我不能把我的选择声明放在最后?

PHP 5.3.5

MysqL 5.1.54

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/505730.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

hbuid 集成svn_HBuilder如何配置SVN的步骤详解

前言本文主要给大家介绍了关于HBuilder如何配置SVN的相关内容,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍吧。注意:大家都配置前最好先备份好之前的文件资料很早之前就想在编辑器上配置SVN,但找了很多…

MATLAB静力学分析,锻造操作机静力学的Matlab仿真分析

由第3章中该新型锻造操作机的位置反解中的构件的位置以及角度的关系式,均为已知量。施加外力为Ftx50N,Fty300N和沿“轴方向的外力矩M 60000 N.mm。给定初始量范围,通过Matlab软件仿真,可以得到各个液压缸的驱动力的变化曲线。该新型锻造操作机…

babylonjs 设置面板位置_一篇关于开关面板的详细集合,值得收藏转发

对于大部分人来说,开关的布局,开关的种类都会是一脸懵。所以大家在装修的过程中就会迷茫,今天给大家分享一篇集合,相信通过这篇文章,问题会有所缓解~一,开关插座的分类1.电源开关分类:一位单控/…

php递归实现1 10阶乘,用递归实现1到100的和,1到10的阶乘

递归:方法定义中调用方法本身的现象注意实现:1.递归一定要有出口,否则就是死递归 StackOverflowError2.递归的次数不能过多,否则也会出现死递归特殊事项:构造方法不可以递归定义举例:从前有座山,山上有座庙&#xff0c…

xxljob 配置文件_最详细的xxl-job java配置方式spring-boot

转自:https://blog.csdn.net/weixin_44055234/article/details/106565516————XXL-JOB*是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。且支持线…

php怎么排除空的数组,【技术产品】php如何去除空数组

【摘要】对于初入门的php学习者肯定会有很多问题,今天考比过小编为大家整理了关于【技术产品】php如何去除空数组的信息,希望可以帮助到大家。下面就让我们一起来看下【技术产品】php如何去除空数组的具体内容吧!php如何去除空数组在php中可以…

ecs 云服务器 管理控制台_【弹性计算】教您快速学会云服务器ECS 创建命令!

云助手命令可以在ECS实例中快速完成运行自动化运维脚本、轮询进程、重置用户密码、安装或者卸载软件、更新应用以及安装补丁等一些日常任务。命令类型可以是Windows PowerShell脚本、Bat批处理命令和Linux Shell脚本,命令中支持自定义参数,方便设置变量值…

vue.js能美化界面吗_vue将单页面改造成多页面应用的方法

问题描述: 手头有一个项目是使用 vue-cli 搭建的单页面应用。项目分为了管理平台和用户查看页面,用户查看页面是很简单的页面,但是在加载过程中,却加载了整个应用的打包代码,量重且影响了响应和体验。我想要的效果是&a…

exoplayer 纯java,Exoplayer不播放任何视频

让Exoplayer工作有问题 . 我设法从网址加载视频 . 但它只播放音频 . 所以我做错了什么 .BandwidthMeter bandwidthMeter new DefaultBandwidthMeter();TrackSelection.Factory videoTrackSelectionFactory new AdaptiveVideoTrackSelection.Factory(bandwidthMeter);TrackSel…

react 返回一个页面_React页面返回上一页时恢复原来页面的状态

需求:从一个横向纵向都有滚动条的列表页进入详情页,返回时列表页的活动条恢复到之前到位置。难点:1.列表用的是antd的table组件,滚动条是这个table组件的,浏览器返回时自身可以记录页面即document的滚动条,…

java mssql mysql,在JSP中访问MSSQLServer数据库_MySQL

SQL Server下面介绍如何用SQL Server实现一个动态FAQ(常见问题及答案)网站。首先建立一个数据库faq,其中的表faqs有字段id(int,自动增量,并设为主关键字)、subject(varchar,200)、answers(text)。这个表中可以存放一些编程知识的常…

matlab的精度变量,MatLab - 变量精度算术

永远不要假设像vpa(sin(pi / 4))这样的数字精确到完全精度,因为MATLAB通常会使用浮点运算来计算vpa调用内的数字,因此只能精确到大约16位数。但是,它似乎在这里是正确的。例如,我们知道这一点sin(pi/4) sqrt(2)/2让我们测试一下结…

直流降压的简单方法_量血压的重大误区和简单的降压方法,尽快转告身边人!...

见五蕴皆空,度一切苦厄。舍利子,色不异空,空不异色,色即是空,空即是色,受想行识,亦复如是。舍利子,是诸法空相,不生不灭,不垢不净,不增不减。是故…

php oauth2 和 jwt,jwt-auth: thinkphp 的 jwt (JSON Web Token)身份验证扩展包,支持Swoole...

JWT-AUTHthinkphp的jwt(JSON Web Token)身份验证包。支持Header、Cookie、Param等多种传参方式。包含:验证、验证并且自动刷新等多种中间件。支持Swoole环境要求php > 7.0thinkphp ^5.1.10 || ^6.0.0说明目前支持如下三大类型加密方式:RSA,HASH,DSA。…

hadoop2.8配置_Hadoop2.8.2安装与配置(单机)

解压并移动到/software目录:tar -zxvf hadoop-2.8.2.tar.gzmv hadoop-2.8.2 /software/hadoop在/etc/profile文件添加:export HADOOP_HOME/software/hadoopexport HADOOP_INSTALL$HADOOP_HOMEexport HADOOP_MAPRED_HOME$HADOOP_HOMEexport HADOOP_COMMON…

编译php时的configure,PHP编译configure时常见错误

PHP的安装虽然有时候很简单,可是如果应用一多,我们安装起来就很头痛了!出错最多的就是安装PHP扩展的时候了。其实不管是你是Apache类的应用还是Nginx类的,PHP的安装都不是很简单,虽然网上有很多configure参数&#xff…

matlab热度图确定色标_C++实现类似Matlab的colormap Jet(灰度图生成彩色热度图)

Matlab使用colormap Jet 可以将灰度图像生成彩色的热度图,灰度值越高,色彩偏向暖色调。相反亦然。// ColorMap.h#ifndef COLORMAP_H#define COLORMAP_Hclass colormap{public:static void GroundColorMix(BYTE* color, double x, double min, double max…

php 监听 扫描枪,jquery监听扫码枪获得值

客户一直说 扫码枪要一直获得焦点才能用,用户体验差 ,想做一个 在这个页面 有没有焦点都要获得到值,想了一下 只有用监听的方式了// 写一个监听扫描枪 事件的方法var code ‘‘;var lastTime 0;// 清空临时变量function clearCode() {code …

arcgis标注牵引线_解析ArcGis的标注(三)——标注的放置 与 转注记修改

该“标注”系列博文的标注引擎使用“标准标注引擎(standard label engine)”,这个概念如不知道,可不理会,ArcGis默认标注引擎就是它。写着写着发现ArcGis标注的破事儿好多啊,要想写得自己能看懂着实得费把力气,好想弃坑…

php 上传文件简单实例,php文件上传的简单实例

复制代码 代码如下:if ((($_FILES["file"]["type"] "image/gif")|| ($_FILES["file"]["type"] "image/jpeg")|| ($_FILES["file"]["type"] "image/pjpeg"))&& ($_FILES…