2010-09-26 53 views
3

下面是我目前PHP MySQL的計數行:通過PHP更有效的方法來COUNT()MYSQL行?

//GET total # of results and build $start and $end for main SQL statement 
$sql= 'SELECT COUNT(*) FROM savedsearches WHERE user_id=\''.mysql_real_escape_string($user_id).'\''; 
$initial_query = mysql_query($sql) or die("SQL error"); 
$num_sql = mysql_fetch_array($initial_query); 
$numrows = $num_sql[0]; 
mysql_free_result($initial_query); 

有沒有更有效的方式來做到這一點?

+2

把它放在一個函數中。然後它只是一條線路。 – 2010-09-26 00:16:35

回答

3

否。如果您想要計數,則運行您已經運行的查詢。

如果需要更高的效率,確保有上user_id列

-1

你的意思是,在更少的代碼行?你可以把這個功能放到一個用戶定義的函數中,然後調用這個函數而不是使用那個代碼,但除此之外,它不會變得非常糟糕。

0
//GET total # of results and build $start and $end for main SQL statement 
$sql= 'SELECT * FROM savedsearches WHERE user_id=\''.mysql_real_escape_string($user_id).'\''; 
$initial_query = mysql_query($sql) or die("SQL error"); 
$numrows = mysql_num_rows($initial_query) 

索引正如你看到的,你可以BEFORE mysql_fetch_array運行mysql_num_rows()。這對我來說非常有用,因爲它可以讓我事先知道天氣或沒有我需要的行數。如果您想了解更多關於此功能的信息:PHP Manual: mysql_num_rows()

相關問題