下面是我目前在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);有没有更有效的方法来做到这一点?
发布于 2010-09-26 09:22:33
不是的。如果你想要计数,你可以运行你已经在运行的查询。
如果需要更高的效率,请确保user_id列上有索引
发布于 2012-09-30 13:14:12
//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()
发布于 2010-09-26 08:17:10
你的意思是,用更少的代码行来完成它?您可以将该功能放入用户定义的函数中,然后调用该函数,而不是使用该代码,但除此之外,它不会变得非常简洁。
https://stackoverflow.com/questions/3796080
复制相似问题