Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Php准备语句关闭仿真

Php准备语句关闭仿真
EN

Stack Overflow用户
提问于 2013-03-30 03:43:37
回答 2查看 5.2K关注 0票数 7

在pdo中使用准备好的语句时,关闭仿真有什么副作用吗?我使用了select *,并限制了需要作为int而不是字符串处理的结果。我可以做两件事之一。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$conn->setAttribute( PDO::ATTR_EMULATE_PREPARES, false );

或者使用param类型显式地绑定这些变量:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$stm = $pdo->prepare('SELECT * FROM table LIMIT ?, ?');
$stm->bindParam(1, $limit_from,PDO::PARAM_INT);
$stm->bindParam(2, $per_page,PDO::PARAM_INT);
$stm->execute();
$data = $stm->fetchAll();

有正反两面吗?显然,关闭模拟将节省大量绑定。

EN

回答 2

Stack Overflow用户

发布于 2013-03-30 04:16:21

准备好的语句是低级别数据库驱动程序的一个特性。数据库首先接受查询结构,并分别接收变量参数。同样,这是数据库本身实际上支持的特性。

“模拟准备”意味着在PHP端使用相同的API,分别使用prepare()bind/execute调用,但PDO驱动程序只是在内部转义和连接字符串,向数据库发送一个很好的长SQL字符串。数据库无法使用其本机参数化查询功能。

切换仿真准备关闭强制PDO使用数据库的本机参数化查询功能。如果您的数据库(-driver)不支持本机参数化查询,则只应打开/保持模拟准备。模拟准备只支持旧数据库(-drivers),它不会改变在PHP代码中绑定参数的方式。

模拟准备可能会暴露某些情况下的安全缺陷,就像所有客户端转义和连接一样。如果查询和数据一直分离到数据库,那么这些缺陷是不可能的。

票数 16
EN

Stack Overflow用户

发布于 2013-03-30 03:45:18

不,没有正反两面值得一提。

显然,关闭模拟将节省大量绑定。

没那么多。您只可以在有限制的情况下使用绑定,即使打开仿真,也可以在execute()中继续对所有其他情况使用延迟绑定。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15718148

复制
相关文章
PHP循环语句
条件 while 条件为真就会执行代码. while(条件为真){ 执行的代码; } do…while 先执行后判断条件,如果为真则循环. do{ 执行的代码; }while(条件为真); 计数 for 根据写的次数确定循环次数. for(初始化循环计数器的值; 评估每个循环迭代; 增加循环计数器的值){ 执行的代码; } foreach 适合用于数组循环,遍历数组中的每个键或值. foreach (数组变量 as 临时变量) { code to be ex
小新哟
2020/09/23
2.6K0
PHP输出语句
prinf_r()是PHP的内置函数可以输出任意的数据(变量,数组,字符串),也是只能输出一个数据
十月梦想
2018/08/29
6.5K0
PHP敏感函数关闭参考
搜索disable_functions 然后改为=disable_functions=phpinfo,dl, exec, system,passthru,popen, pclose, proc_open, proc_nice, proc_terminate, proc_get_status, proc_close, leak, apache_child_terminate, escapeshellcmd, shell-exec, crack_check, crack_closedict, crack_get
苦咖啡
2018/05/07
2K0
PHP-判断语句
1.5 判断 1.5.1 语法 单分支 if(条件){ } 双分支 if(条件){ //代码块1 }else{ //代码块2 } 多分支 if(条件){ }elseif(条件){ //注意:elseif之间没有空格 }else{ } 多路选择 switch(表达式){ case 常量: //代码块 break; case 常量: //代码块
cwl_java
2020/03/26
2.6K0
PHP流程控制语句
PHP流程控制语句 PHP流程控制语句有3中类型 条件判断语句 循环语句 程序跳转和终止语句 1.条件判断语句 if语句 基本语法: if(表达式) 语句块; if(表达式){ 语句块1; 语句块2; } if…else语句 基本语法: if(条件表达式){ 语句块; }else{ 语句块 } else if语句 基本语法: if(表达式){ 语句块; }else if(表达式){ 语句块; }else if(表达式){ 语句块; }else{
白胡杨同学
2020/04/10
1.1K0
PHP-跳转语句
break和continue默认中断、跳出1重循环,如果调中断、跳出多重循环,在后面加一个数字。
cwl_java
2020/03/26
1.9K0
正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程…
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。
全栈程序员站长
2022/07/02
2.4K0
正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程…
php实现自动开启/关闭夜间模式
纯属没事写着玩的,别上纲上线。判断日出日落都是按照北京时间来的,不会按照ip地址精确到省份。我是写代码的,不是气象台的!
用砖头敲代码
2022/08/30
8280
PHP中PDO关闭连接的问题
在之前我们手写 mysql 的连接操作时,一般都会使用 mysql_close() 来进行关闭数据库连接的操作。不过在现代化的开发中,一般使用框架都会让我们忽视了底层的这些封装,而且大部分框架都已经默认是使用 PDO 来进行数据库的操作,那么,大家知道 PDO 是如何关闭数据的连接的吗?
硬核项目经理
2020/12/30
7.8K0
php实现自动开启/关闭夜间模式
首先,想要自动开启/关闭夜间模式我们需要知道现在的太阳的状态(日出/日落),所以说先要获取今日的日出和日落时间。在网上找了一大圈也没找到可以对接的api,所以说只能靠自己来写了。
用砖头敲代码
2022/06/17
9550
PHP中PDO关闭连接的问题
在之前我们手写 mysql 的连接操作时,一般都会使用 mysql_close() 来进行关闭数据库连接的操作。不过在现代化的开发中,一般使用框架都会让我们忽视了底层的这些封装,而且大部分框架都已经默认是使用 PDO 来进行数据库的操作,那么,大家知道 PDO 是如何关闭数据的连接的吗?
用户7353560
2021/11/07
2.7K0
PHP笔试准备题目之基础题目
问题 1.如何访问会话变量(session)? A.通过$_GET B.通过$_POST C.通过$_REQUEST D.通过全局变量 E.以上都不对
魏杰
2022/12/23
3.2K0
PHP- 控制流-循环语句-for
其中,expr1表示循环开始前执行的一段代码,通常用于初始化变量;expr2表示每次循环前都会进行的条件判断,如果条件为真,则继续执行循环体中的代码,否则跳出循环;expr3表示每次循环后要执行的代码,通常用于更新变量的值。
堕落飞鸟
2023/04/26
1.2K0
linux 如何关闭正在执行的php脚本
1. 如果不是后台执行,直接ctrl+c 就终止执行 2. 如果是后台执行 首先执行:sudo ps –ef|grep php
全栈程序员站长
2022/07/11
2.5K0
PHP平滑关闭/重启的实现代码
写过 CLI 常驻进程的老司机肯定遇到过这么一个问题:在需要更新程序的时候,我要怎样才能安全关闭老进程?你可能会想到 NGINX、php-fpm 之类的平滑重启是给进程发送 USR2 信号,然后它就会将当前请求处理完再退出。
很酷的站长
2022/12/02
1K0
PHP平滑关闭/重启的实现代码
【php】关闭PHP错误提示方法,防止错误信息泄露
我们都知道,php代码有时候可能因为我们的一些操作失误,导致报错,然后会暴露错误信息。 为了防止错误信息泄露,需要关闭php的错误提示。
吃猫的鱼Code
2023/02/02
2.2K0
PHP数据库的连接和关闭
在Web应用程序中,数据库是存储和管理数据的核心组件之一。在PHP中,您可以使用内置的数据库扩展程序(例如MySQLi、PDO等)来连接和操作数据库。
堕落飞鸟
2023/04/27
2.7K0
try 语句如何更优雅的关闭资源?请看这里!
try-with-resources是 JDK 7 中引入的一个新的异常处理机制,它能让开发人员不用显式的释放try-catch语句块中使用的资源。
Java极客技术
2022/12/04
3860
点击加载更多

相似问题

PHP MySQLi查找未关闭的预准备语句

15

PHP准备语句

20

PHP准备语句

22

PHP准备语句

13

何时关闭预准备语句

221
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文