好的,我在这里比较混乱。在我的数据库中,我有5行此数据=> “string@domail.com”(全部小写),这是我的代码,查询1(我使用的是php和mysql):
$str = 'STRING@DOMAIN.COM';
$sel = mysql_query("SELECT COUNT(*)
FROM table
WHERE `column` = '{$str}'");
$num = mysql_num_rows($sel);
echo $num;
结果是1.但是如果我改为Query2
SELECT column
FROM table
WHERE `column` = '{$str}'"
它返回5.
另一个问题是,如果我想在查询速度方面找出数据库,查询1或2中存在的行数,我应该使用哪个查询?
答案 0 :(得分:1)
$num = mysql_num_rows($sel);
这将返回从查询中选择的行数。对于查询一,因为从表中选择COUNT(*)
,它会返回一行,其中包含一个单元格:此单元格的值为5.第二个查询选择具有$str
值的所有条目,所以mysql_num_rows($sel);
确实会返回5。
至于另一个问题,首先查询是否更有效,但如果您要查找值为$str
的行数,请不要使用mysql_num_rows()
,而是使用mysql_fetch_row()。< / p>