php - MySQL错误: Unknown column in 'field list'

标签 php mysql

每次尝试运行脚本时都会收到以下错误;

Unknown column '3624dfaf5f3429fc' in 'field list'

这是我的脚本,无论如何重要的部分;

$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错误: Unknown column in 'field list' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6906191/

相关文章:

php - 使用 php/mysql 的简单 URL 旋转器

java - Facebook GRAPH API - 登录绕过。代币安全

php - Codeigniter 事件记录 : is it possible to remove the brakets around the table name

mysql - Docker compose mysql 可在端口 3306 上访问

没有 root 访问权限的 mysql 工作台

php - 带有 Laravel Excel : Your requirements could not be resolved to an installable set of packages 的 Laravel 7

php - 我如何通过美国的 IP 地址获取时区?

php - 关于如何在 linux 中与另一个 shell 交互使用 shell 的一些问题

html - .each 语句中的 Ruby on Rails 错误

php - mysqli_num_rows() 结果不正确