[英]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.