php - PDO操作,设置了ATTR_EMULATE_PREPARES属性为false后发现还是在本地模拟prepare - SegmentFault 思否


本站和网页 https://segmentfault.com/q/1010000005714538 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

php - PDO操作,设置了ATTR_EMULATE_PREPARES属性为false后发现还是在本地模拟prepare - SegmentFault 思否
注册登录问答专栏标签招聘活动发现✓使用“Bing”搜本站使用“Google”搜本站使用“百度”搜本站站内搜索注册登录首页问答php问答详情2PDO操作,设置了ATTR_EMULATE_PREPARES属性为false后发现还是在本地模拟prepare8032号铺75138发布于 2016-06-14 dryyun5.4k42436更新于 2016-06-14
PDO操作,设置了ATTR_EMULATE_PREPARES属性为false后发现还是在本地模拟prepare
<?php
//连接数据库部分
try{
$dbh = new PDO('mysql:dbname=test;host=localhost','root','root');
//设置捕获异常
$dbh -> setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
//设置禁止本地模拟prepare
$dbh -> setAttribute(PDO::ATTR_EMULATE_PREPARES,false);
$dbh -> exec('set names gbk');
}catch(PDOException $e){
echo '数据库连接失败:'.$e->getMessage();
exit;
$query = "SELECT * FROM news WHERE tid=?";
$stmt = $dbh -> prepare($query);
$tid = $_GET['id'];
//将参数添加到SQL查询中
$stmt -> bindParam(1,$tid);
$stmt -> execute();
?>
mysql日志:
160614 13:14:12 27 Connect root@localhost on test
27 Query set names gbk
27 Query SELECT * FROM news WHERE tid='1'
27 Quit
发现并未像描述那样:“设置这个属性为false,就不会在本地进行模拟prepare”
php版本 5.2.17
补充内容:PDO::ATTR_EMULATE_PREPARES 启用或禁用预处理语句的模拟。 有些驱动不支持或有限度地支持本地预处理。使用此设置强制PDO总是模拟预处理语句(如果为 TRUE ),或试着使用本地预处理语句(如果为 FALSE)。如果驱动不能成功预处理当前查询,它将总是回到模拟预处理语句上。我这里是不是因为驱动没有成功预处理当前查询到导致的问题?
phppdo关注3收藏1赞2回复阅读 11k 2 个回答得票最新28032号铺75138发布于 2016-06-22 找到问题的所在了,我用的是在win下的环境,当我使用linux下的php5.2.x 环境就可以顺利的进行预处理了赞2回复1 个回答被忽略0CRStudio1151210发布于 2021-03-02 标记一下这个问题,是挺奇怪的。赞0回复撰写回答你尚未登录,登录后可以和开发者交流问题的细节关注并接收问题和回答的更新提醒参与内容的编辑和改进,让解决方法与时俱进注册登录推荐问题php excel导出十万数据的解决方案?使用PHP spreadsheet包导出至.xlsx文件,一次性循环万级的数据就容易内存溢出,有没有什么比较靠谱的导出方案呢?6 回答1.6k 阅读如何实现对商品列表的排序?如图所示,前端的界面是这样的,需求是:前端通过拖动商品完成对商品的排序。前端是有分页的,第二页的商品也可以拖动到第一页进行排序。现在数据库中有sort字段,字段全部为0。目前商品列表是按照时间倒序排序的。那么接口的排序算法应该如何设计?如果采用最小的代价去实现排序,同时尽量不去在添加和修改商品处做改动。4 回答1.5k 阅读当别人注册你的网站用户时,你网站就能为用户生成一个专属域名网页?举例:这个网站的域名是[链接] 我注册后,他会给我生成一个二级域名[链接] 相当于另外一个网站。然后我的数据都保存在另外一个网站里面。2 回答835 阅读✓ 已解决请问各位大佬:Go语言中大量使用 map[string]interface{} 会有哪些问题?不写结构体,前端json直接解析为 map[string]interface{} ,直接处理 map[string] 值,返回前端的时候也是直接转为json。2 回答1.1k 阅读✓ 已解决linux 找到一个文件特定字符串的最大值?比如这个文件,我想找到#Query_time对应的值从大到小对应的sql语句,从而帮助优先处理查询时间最长的sql,在linux中应该怎么去做呢?2 回答562 阅读✓ 已解决请问在一段html字符串里如何实现标签替换?我先有一段html字符串,我想把里面的div,h1类似的标签替换为p标签,例如:<h1 style=&quot;font-size:10px;&quot;>这是标题</h1>替换为:<p>这是标题</p>最好是 php 语言的。4 回答1k 阅读脱离 laravel 之后,Illuminate\mail 如何发送邮件?请问如何在不使用 laravel 的情况下使用他的 mail 组件?[链接]1 回答791 阅读✓ 已解决宣传栏109851产品热门问答热门专栏热门课程最新活动翻译酷工作课程Java 开发课程PHP 开发课程Python 开发课程前端开发课程移动开发课程资源每周精选用户排行榜帮助中心建议反馈合作关于我们广告投放职位发布讲师招募联系我们合作伙伴关注产品技术日志社区运营日志市场运营日志团队日志社区访谈条款服务协议隐私政策下载 AppCopyright © 2011-2022 SegmentFault. 当前呈现版本 22.12.19浙ICP备15005796号-2浙公网安备33010602002000号ICP 经营许可 浙B2-20201554杭州堆栈科技有限公司版权所有