PHP PDO准备查询
发布时间:2020-12-13 18:22:06 所属栏目:PHP教程 来源:网络整理
导读:我在PDO上阅读并在StackOverFlow上搜索了关于pdo和prepare语句的内容.我想知道什么是好处或使用准备声明.例如: $sql = 'SELECT name,colour,calories FROM fruit WHERE calories :calories AND colour = :colour';$sth = $dbh-prepare($sql,array(PDO::ATTR
我在PDO上阅读并在StackOverFlow上搜索了关于pdo和prepare语句的内容.我想知道什么是好处或使用准备声明.例如:
$sql = 'SELECT name,colour,calories FROM fruit WHERE calories < :calories AND colour = :colour'; $sth = $dbh->prepare($sql,array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY)); $sth->execute(array(':calories' => 150,':colour' => 'red')); $red = $sth->fetchAll(); VS $sql = "SELECT name,calories FROM fruit WHERE calories < $calories AND colour = $colour"; $result = $connection->query($query); $row = $result->fetch(PDO::FETCH_ASSOC); 两个查询都将返回相同的结果,所以为什么使用准备,对我来说看起来它会慢,因为你必须执行额外的步骤. 谢谢
准备好的陈述是:
>更安全:PDO或底层数据库库将负责为您转义绑定变量.如果始终使用预准备语句,则永远不会容易受到SQL注入攻击. 在这两个中,#1更为重要,并使准备好的陈述不可或缺!如果你没有使用准备好的语句,唯一明智的做法就是在软件中重新实现这个功能. (当我被迫使用mysql驱动程序并且无法使用PDO时,我已多次这样做了.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |