我知道這個問題已被問了很多次,但從我看過的很多人看來,他們總是使用mysql保留的關鍵字作爲表或列名,或者實際上在這裏或那裏有語法錯誤,但我不認爲我也有,所以我會很感激一些幫助,弄清楚爲什麼我會得到這個。下面是導致該錯誤的功能:爲什麼我會得到「SQLSTATE [42000]:語法錯誤或訪問衝突:1064您的SQL語法錯誤...」? (PDO-PHP)
public function user_exists($db, $username) {
$query = $db->prepare("SELECT COUNT('id') FROM 'users' WHERE 'username' = ?");
$query->bindValue(1, $username);
try {
$query->execute();
$rows = $query->fetchColumn();
if($rows == 1) {
return false;
}
else {
return true;
}
}
catch(PDOException $e) {
die($e->getMessage());
}
}
然後,當它被稱爲有,比方說,「什麼」爲$ username參數,下面是完整的錯誤,我得到:
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQLsyntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''users' WHERE 'username'= anything' at line 1
這工作。謝謝! – which1ispink