当只有一行时,MySQLi找到两行?

时间:2013-10-31 17:49:40

标签: php mysql sql mysqli

我有一些PHP代码,

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

我的$ user [ID]为1,因此它应该获取UserID 1拥有的Inventory中的任何内容。 当我运行查询时:

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

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

在页面上它返回数字2.
为什么是这样?我想让它回应1而不是2。

2 个答案:

答案 0 :(得分:3)

  

当只有一行时,MySQLi会找到两行?

没有。
Mysqli确切地找到了找到的行数。无论您的代码和/或各种拼写错误导致的不一致和错误。

答案 1 :(得分:0)

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