我的查询正在抛出此错误。任何人都能看到为什么'在''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]'? –