try {
$STH = $DBH->query("SELECT id FROM users WHERE full_name = :username");
$STH->bindParam(':username', $username);
$nameExists = $STH->rowCount();
if ($nameExists != 0) {
$error .= "That username already exists<br>";
}
}
catch(PDOException $e) {
$error .= $e->getMessage() . "<br>";
}
以上是我正在使用的代码。$username 是前面定义的。此代码的问题是我收到以下错误:
SQLSTATE[42000]:语法错误或访问冲突:1064 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 ':username' 附近使用正确的语法
当我将代码更改为包含 ' around :username so...
$STH = $DBH->query("SELECT id FROM users WHERE full_name = ':username'");
该语句执行良好,但不匹配记录。当我删除占位符并只写 WHERE full_name = 'John Doe' 时,一切正常。
非常感谢解决此问题的任何帮助。