[英]Unknown column '' in 'where clause'
我的查詢拋出了這個錯誤。 誰能明白為什么?
$query = "SELECT * FROM Units WHERE ID = `$uniqueUnits[a]`";
'where子句'中的未知列''
兩個問題。
您正在使用反引號來分隔字符串。 反引號分隔字段,因此 MySQL 認為您正在嘗試給它一個列名。
錯誤消息表明,實際上,它認為是列名的這個值是空的。 因此,您的價值$uniqueUnits[a]
可能已損壞,或者未正確插值。
您應該執行以下操作:
使用“復雜語法”明確地插入變量,以確保字符串 forms 正確;
檢查$query
的值,以便您可以看到發生了什么:
print $query;
使用實際的引號來分隔字符串:
$query = "SELECT * FROM Units WHERE ID = '{$uniqueUnits[a]}'"; // ^ quote // ^ PHP variable interpolation
嘗試
$query = "SELECT * FROM Units WHERE ID = '$uniqueUnits[a]'";
^--- ^---
反引號用於 escaping 保留字,因此 mysql 將變量的內容轉換為字段名稱。
因為顯然 $uniqueUnits[a] 解析為空字符串。 並且數據庫中沒有這樣的列。
嘗試用{}
包圍您的數組,如下所示:
$query = "SELECT * FROM Units WHERE ID = `{$uniqueUnits[a]}`";
另外,列ID
實際上在您的表中嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.