php - MySQL查询不符合查询条件时返回第0行

标签 php mysql select primary-key record

我有一个带有主键的表:

类型:INT 长度:11 默认值:NULL 额外:auto_increment

该表包含 3 条记录 - 0、1 和 4

当我尝试...

SELECT the_key FROM the_table WHERE the_key='someRandomString'

...返回 1 条记录(主键 0)

我可以用 PHP is_numeric() 解决这个问题,但为什么它不返回 0 条记录?

最佳答案

看起来您正在将 int 列与字符串值进行比较?看起来 MySQL 正在将字符串转换为 int,得出 0,并匹配该行。

两个选项:

  1. 不要那样做。不要编写不兼容类型的比较。
  2. 看看 MySQL 是否有一个选项可以进入更严格的模式,在该模式下它不会自动转换不兼容的类型。

关于php - MySQL查询不符合查询条件时返回第0行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5764506/

相关文章:

PHP - 在字符串中搜索关键字并提高提取关键字的质量和准确性

php - 使用 PHP 连接到远程 MySQL 服务器

php - 如何从同一个表中的单个 MySQL 查询中获取两组结果?

php - 获取MySQL数据库中每个ID的最新(日期)记录

javascript - 如果它是空的,如何检索空的 OPTION 值?

php - HTML 表单不通过 PHP 文件更新 mySQL

php - PHPSpec/Prophecy 中通过引用传递的形式参数 stub

php - 为 mysql 数据库创建新用户并仅授予某些权限

c# - 如何在unity3d中显示和保存表情符号?

MySQL根据另一个表中的数据从一个表返回结果