好吧,我有点困惑。在我的数据库中,我有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),我应该使用哪个查询?

最佳答案

$num = mysql_num_rows($sel);


这将返回从查询中选择的行数。对于查询一,由于您从表中选择COUNT(*),它将返回一行包含一个单元格的单行:此单元格的值为5。第二个查询选择具有$str值的所有条目,因此确实会返回5。

至于另一个问题,请首先查询是否更有效,但是如果要查找具有值mysql_num_rows($sel);的行数,请不要使用$str,而应使用mysql_fetch_row()

关于mysql - 在SELECT COLUMN和COUNT,MySQL中区分大小写的差异?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1830526/

10-11 23:59
查看更多