对于此查询,是否需要使用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);
}
在这种情况下,查询速度非常重要。
1条答案
按热度按时间lvjbypge1#
不,预先准备的查询(如果使用得当)将确保数据不会更改SQL查询,并提供安全的查询。您正在正确地使用它们,但您可以只做一个小更改。因为您使用了'?'占位符,所以通过execute方法传递参数会更容易。
如果要将其输出到页面,请小心,SQL参数绑定并不意味着它可以安全地在HTML中显示,因此在输出时也要对它运行
htmlspecialchars()
。