2012-01-24 73 views
-1

我算使用该功能的MySQL行:优化PHP的MySQL COUNT函数

function sqlcount($table) 
{ 
    $sql = mysql_query("SELECT COUNT(0) FROM $table;"); 
    $sql = mysql_fetch_array($sql); 
    return $sql[0];  
} 

打印结果:

echo sqlcount("members"); 

但是,这并不工作,并没有展现真实计数。问题是什么?

+0

你可能不应该键入与每一个字母用大写,因为它很难阅读,也'COUNT(0)'是没有意义的,使用'COUNT(*)'。 –

+1

你为什么认为它不起作用?它打印什么? – Sjoerd

回答

0

尝试,这也:的

function sqlcount($table) 
{ 
    $sql = mysql_query("SELECT COUNT(*) as num FROM $table;"); 
    $sql = mysql_fetch_array($sql); 
    return $sql['num'];  
} 

或代替COUNT(*)设置选择数据库的任何字段名称。

+0

是的!这工作。谢谢 –

2

COUNT(*)代替COUNT(0)

$sql = mysql_query("SELECT COUNT(*) FROM $table;"); 
+0

其实我的功能不打印真实的结果。所有的行是6,但现在我看到16! –

0

尝试

function sqlcount($table) 
{ 
    $sql = mysql_query("SELECT COUNT(*) as `count` FROM ".  mysql_real_escape_string($table) .";"); 
    $sql = mysql_fetch_assoc($sql); 
    return $sql['count'];  
}