MySQL错误:'字段列表'


MySQL error: Unknown column in 'field list'

每次尝试运行脚本时,我都会得到以下错误:

字段列表中未知列' 3624daf5f3429fc '

这是我的脚本,好吧,不管怎样,重要的部分;

$num1 = mt_rand(1, 2147483647);
$num2 = mt_rand(1, 2147483647); 
$valcode = dechex($num1).dechex($num2);
$query = "SELECT COUNT(*) FROM records WHERE valcode='$valcode'";
$result = mysql_query($query) or die("Query failed because ".mysql_error());

如果我将$valcode更改为整数($num1),则运行良好。另一方面,作为一个六进数,它会导致上述错误。知道为什么吗?

我怀疑这个错误来自于一个不同的查询,您没有将代码用单引号括起来。这将导致查询在整数时有效,但在没有引号包围的十六进制字符串时无效。没有引号的字符串被解释为标识符(列名或别名)。

SELECT COUNT(*) FROM records WHERE valcode = 123

是有效的,比较valcode和数字123,

SELECT COUNT(*) FROM records WHERE valcode = 3624dfaf5f3429fc

无效,因为它试图将valcode与名为3624dfaf5f3429fc的列或别名进行比较。我不相信你分享的代码会导致那个错误信息