我有一個查詢,看起來像這樣:MySQL:錯誤,當查詢返回沒有結果?
SELECT number
FROM table1
INNER JOIN table2
WHERE name = 'stack_overflow' AND table1.id = table2.id
AND user_id = 5
這將返回一個數字。它做的是正確的事情,但是當名字內部傳遞一個不存在於db中的名字時,PHP給了我一個錯誤。這是我正在執行它:
$stmt = $this->db->prepare($sql);
$stmt->execute();
$x = $stmt->fetchColumn();
我總是得到正確的$ x值當名稱的表存在,但是當它不,我得到以下錯誤:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'name_that_is_not_in_table'
不知道....
顯示導致此錯誤的實際查詢。 –
什麼是'name_that_is_not_in_table'?它是否包含任何可能破壞查詢的特殊字符? –
不是......這是一個普通的字符串,它不存在,我執行查詢,它只是返回沒有值 – luqita