MySQLi 在只有一行时找到两行


MySQLi finds two rows when there's only one?

我有一些PHP代码,

$gQ = $mysqli->query("SELECT * FROM `Inventory` WHERE `UserID`='$user[ID]' ORDER BY `ID`");
$gN = $gQ->num_rows;
echo($gN);

我的$user [ID] 是 1,因此它应该获取用户 ID 1 拥有的清单中的任何内容。当我运行查询时:

SELECT * FROM `Inventory` WHERE `UserID`='1' ORDER BY `ID`

在 PhpMyAdmin 中,它返回 1 行(因为只有 1 行!

而在页面上,它返回数字 2。
这是为什么呢?我希望它回显 1 而不是 2。

MySQLi 在只有一行时找到两行?

不。
Mysqli 准确找到找到的行数。任何不一致和错误是由您的代码和/或各种拼写错误引起的。

确保您的表用户ID设置为auto_increment,这将确保没有重复的用户ID(如果SQL带来2,您显然有)使用PHP MyAdmin,如果可以查看所有表记录。如果行出现相同,请仔细检查您如何回显数据(将是重复代码)