好吧,我有点困惑。在我的数据库中,我有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/