我在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();
Run Code Online (Sandbox Code Playgroud)
VS
$sql = "SELECT name, colour, calories FROM fruit WHERE calories < $calories AND colour = $colour";
$result = $connection->query($query);
$row = $result->fetch(PDO::FETCH_ASSOC);
Run Code Online (Sandbox Code Playgroud)
两个查询都会返回相同的结果,所以为什么要使用prepare,对我来说看起来它会慢一点,因为你必须执行一个额外的步骤.
谢谢
Fra*_*ila 12
准备好的陈述是:
这两个,#1是远远更为重要,使得预处理语句缺一不可!如果你没有使用准备好的语句,唯一明智的做法就是在软件中重新实现这个功能.(当我被迫使用mysql驱动程序并且无法使用时,我已多次这样做了PDO.)