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/

10-16 08:06