Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Mysql查询,其中列\u name=a与列\u name=0相同?_Php_Mysql_Sql_Get - Fatal编程技术网

Php Mysql查询,其中列\u name=a与列\u name=0相同?

Php Mysql查询,其中列\u name=a与列\u name=0相同?,php,mysql,sql,get,Php,Mysql,Sql,Get,运行查询时,例如: “从program_detaljer中选择*其中program_ref_id='a'” 我从结果中得到的是program_ref_id=0 当program\u ref\u id列应该是int(11)时,为什么会发生这种情况?您应该了解 在比较之前,mysql尝试将字符串('a')转换为数字('0') 您可以在查询之前检查值。或者将=替换为类似的:)。(但最好先检查值类型。) 所以program_ref_id列是一个INT,您正在将它与查询中的一个字符进行比较?我错误地将它与

运行查询时,例如:

“从program_detaljer中选择*其中program_ref_id='a'”

我从结果中得到的是program_ref_id=0

当program\u ref\u id列应该是int(11)时,为什么会发生这种情况?

您应该了解

在比较之前,mysql尝试将字符串('a')转换为数字('0')

您可以在查询之前检查值。或者将
=
替换为类似的
:)。(但最好先检查值类型。)


所以program_ref_id列是一个INT,您正在将它与查询中的一个字符进行比较?我错误地将它与一个字符进行了比较,在我的站点上得到了一个错误。用一份事先准备好的声明解决了这个问题,并好奇为什么会发生这种情况
mysql> SELECT 0='a';
+-------+
| 0='a' |
+-------+
|     1 |
+-------+
1 row in set, 1 warning (0.00 sec)
mysql> SELECT 0 LIKE 'a';
+------------+
| 0 LIKE 'a' |
+------------+
|          0 |
+------------+
1 row in set (0.00 sec)