【发布时间】:2016-12-11 19:45:26
【问题描述】:
显然没有 SQL 注入的威胁,但是如果没有变量插入到准备好的语句中,使用准备好的语句而不是 query() 是否有任何性能考虑?
$sql='SELECT t1.a,t1.b,t2.c FROM t1 INNER JOIN t2 ON t2.id=t1.t2_id';
$stmt=$db->prepare($sql);
while(true) {
...
//Should this be used
$stmt->execute();
//or this, and get rid of the above prepared statement?
$rs=$db->query($sql);
$rs=$stmt->fetchAll();
...
}
编辑。 lonesomeday 和 Your Common Sense 的答案相互矛盾,但都是正确的,因为我没有说明我是否正在使用仿真模式。但是,我认为此时从根本上编辑原始问题对我来说并不合适,并且希望我可以同时选择这两个...
【问题讨论】:
-
您说您使用的是
PDO::ATTR_EMULATE_PREPARES => false,所以您没有使用仿真模式。 -
@YourCommonSense 我知道我没有使用仿真模式,但我没有在原帖中这么说。
标签: php mysql pdo prepared-statement