【发布时间】:2011-11-20 10:56:12
【问题描述】:
我有以下代码与PDO prepared statements:
$stmt = $conn->prepare('SELECT `myColumn1` FROM my_table '.
'WHERE `myColumn2`=:val LIMIT 1');
$stmt->bindValue(":val", $value);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
这很好用。它发送以下查询:
113 Query SELECT `myColumn1` FROM my_table WHERE `myColumn2`=":val" LIMIT 1
它会返回正确的值。
但是如果我将第一行改为
$stmt = $conn->prepare('SELECT `myColumn1` FROM my_table '.
'WHERE `myColumn2`=":val" LIMIT 1');
或
$stmt = $conn->prepare('SELECT `myColumn1` FROM my_table '.
'WHERE `myColumn2`=':val' LIMIT 1');
发送相同的查询,但 PDO 返回 false。
谁能解释一下原因?
【问题讨论】:
-
我可以问一个问题吗?干什么用的?
标签: php pdo prepared-statement