每次尝试运行脚本时都会出现以下错误:;
“字段列表”中的未知列“3624dfaf5f3429fc”
这是我的剧本,不管怎样重要的部分;

$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的列或别名进行比较。我不相信你共享的代码会导致错误信息。

关于php - MySQL错误:“字段列表”中的未知列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6906191/

10-10 03:42