Php 为select查询准备的语句
我想知道我是否应该使用准备好的语句进行简单的select查询 例如:Php 为select查询准备的语句,php,mysql,prepared-statement,Php,Mysql,Prepared Statement,我想知道我是否应该使用准备好的语句进行简单的select查询 例如: `SELECT * FROM `table_name` 有了这一点,做以下事情不是更好吗 $db->query('SELECT * FROM `table_name`'); 如果查询只运行一次(每个脚本),并且其中确实没有变量,那么无论是使用准备好的语句还是一次性查询,都没有多大区别。我认为这不是必须的,但为了代码的完整性,最好这样做。这个简单的select查询(没有赋值)将无法攻击。@deceze是正确的。但是如果
`SELECT * FROM `table_name`
有了这一点,做以下事情不是更好吗
$db->query('SELECT * FROM `table_name`');
如果查询只运行一次(每个脚本),并且其中确实没有变量,那么无论是使用准备好的语句还是一次性查询,都没有多大区别。我认为这不是必须的,但为了代码的完整性,最好这样做。这个简单的select查询(没有赋值)将无法攻击。@deceze是正确的。但是如果你想用这种方式
<?php
$stmt = $dbh->prepare("SELECT * FROM REGISTRY where name = ?");
if ($stmt->execute(array($_GET['name']))) // <== passed array of parameters
{
while ($row = $stmt->fetch())
{
print_r($row);
}
}
?>
如果您计划只从表中选择某些字段,则使用*for selects可能会对性能造成同样严重的影响。是的,这会更好,事实上,如果您没有任何变量,则应该这样做。