我的查詢正在拋出此錯誤。任何人都能看到爲什麼'在''where子句'中的未知列''
$query = "SELECT * FROM Units WHERE ID = `$uniqueUnits[a]`";
未知列 'where子句'
我的查詢正在拋出此錯誤。任何人都能看到爲什麼'在''where子句'中的未知列''
$query = "SELECT * FROM Units WHERE ID = `$uniqueUnits[a]`";
未知列 'where子句'
兩個問題。
您正在使用反引號來分隔字符串。反引號劃分字段,所以MySQL認爲你想給它一個列名。
錯誤消息指示實際上它認爲是列名的此值爲空。所以你的價值$uniqueUnits[a]
可能被破壞,或者沒有正確插入。
你應該做到以下幾點:
與 「複雜的語法」,以確保Interpolate your variables顯式的字符串形式正確;
檢查的$query
值,以便你可以看到發生了什麼事情:
print $query;
使用實際引號來分隔字符串:
$query = "SELECT * FROM Units WHERE ID = '{$uniqueUnits[a]}'";
// ^quote
// ^PHP variable interpolation
因爲顯然$ uniqueUnits並[a]解析爲空字符串。數據庫中沒有這樣的列。
嘗試
$query = "SELECT * FROM Units WHERE ID = '$uniqueUnits[a]'";
^--- ^---
反引號是轉義保留的話,那麼MySQL是你的翻譯變量的內容到某個字段名。
嘗試與周圍的{}
陣列,像這樣:
$query = "SELECT * FROM Units WHERE ID = `{$uniqueUnits[a]}`";
而且,是ID
列實際上是在你的餐桌?
不,'echo「文本$ array [key]」'是正確的。 –
http://www.php.net/manual/en/language.types.array.php搜索「以下是好的,因爲它在一個字符串中」 –
我的歉意。感謝Tomalak。如果我對這個答案沒有任何更多的活動,我會刪除它。 – Bojangles
什麼是' $ uniqueUnits [A]'? –