mysql:customer_number = int
(无法更改)
$query = "SELECT * FROM clients WHERE customer_number= '123F'"
结果应该为空。
查询的结果是不正确的,因为MySQL会忽略所有构成整数值的字母字符,例如'F'。
最佳答案
您可以检查所提供的值是否严格为整数。
$query = "SELECT * FROM clients WHERE customer_number= '123F'
AND '123F' REGEXP '^-?[0-9]+$'";
AND
强制需要两个条件。因此,即使MySQL忽略了
F
中的123F
并将其视为123
,第二个条件也将返回FALSE
,并且123F
将使严格整数条件的正则表达式失败。结果如下:
123
->通过123F
->失败关于php - 结合字母数字时如何选择真实值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55058389/