0

我正在学习 PDO 并尝试进行查询:

$stmt = $conn->prepare("SELECT * FROM hallinta 
                        WHERE username = :user AND hash = :hash");
$stmt->bindParam(':user', $myusername);
$stmt->bindParam(':hash', $hash);
    $stmt->execute();
$count = $stmt->rowCount();
while($row = $stmt->fetch()) {
        $r=$row["hash"];
}

仅使用一个 WHERE 语句即可正常工作,但是当 :user 和 :hash 都在查询中时,我会收到错误

错误:SQLSTATE [42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在第 1 行的 '' 附近使用的正确语法"

查询有什么问题?

4

1 回答 1

0

由于某些极其奇怪的原因,您忽略了错误消息中最有意义的部分,实际上是指出了错误。

但是,这不是 PDO 错误,而是 SQL 错误。您应该首先在控制台中测试您的查询,然后在 PDO 中仅使用经过测试的查询。

此外,您必须更加注意您运行的查询。您在此处发布的文章中没有语法错误。

于 2013-09-13T10:16:50.913 回答