添加 WHERE 语句时,我的 select 语句不起作用。
以下代码返回一些内容:
$sql = "SELECT * FROM statement";
$stmt = $dbconn->prepare($sql);
$stmt->execute(array(':words'=>$words));
但这不会:
$sql = "SELECT * FROM statement WHERE words='(:words)'";
$stmt = $dbconn->prepare($sql);
$stmt->execute(array(':words'=>$words));
我不确定为什么。您可能认为这是因为没有“words”元素等于 $words 的 statements 对象,但是有...我可以使用第一个代码运行此循环:
foreach ($stmt as $s)
{
var_dump($words, $s['words'], ($words==$s['words']));
echo "<br>";
}
这是我的输出:
string(4) "test" string(5) "test1" bool(false)
string(4) "test" string(5) "test2" bool(false)
string(4) "test" string(4) "test" bool(true)
那么有什么关系呢?我不知道为什么这不起作用。如果我在做一些非常愚蠢的事情,请告诉我。