以下是我目前在PHP中计算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);
有更有效的方法吗?
答案 0 :(得分: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)
如您所见,您可以在mysql_fetch_array之前运行mysql_num_rows()。这对我来说非常有用,因为它允许我事先知道,天气与否,我有我需要的行数。如果您想了解有关此功能的更多信息:PHP Manual: mysql_num_rows()
答案 2 :(得分:-1)
你的意思是,用更少的代码行来做?您可以将该功能放入用户定义的函数中,然后调用该函数而不是使用该代码,但除此之外,它不会变得非常糟糕。