对于此查询,有必要使用mysql_real_escape_string吗?
mysql_real_escape_string
任何改进或查询是否还好?
$consulta = $_REQUEST["term"]."%"; ($sql = $db->prepare('select location from location_job where location like ?')); $sql->bind_param('s', $consulta); $sql->execute(); $sql->bind_result($location); $data = array(); while ($sql->fetch()) { $data[] = array('label' => $location); }
在这种情况下,查询速度很重要。
否,准备好的查询(正确使用时)将确保对数据进行正确的转义以进行安全查询。您有点正确地使用它们,只需要更改一件事。因为您使用的是“?” 占位符,最好通过execute方法传递参数。
$sql->execute(array($consulta));
请注意,如果要将其输出到页面,数据库清理并不意味着可以在HTML中安全显示,因此也可以在其上运行htmlspecialchars()。