我正在开发我自己的论坛,除了尝试使用ORDER BY date_time时,所有的工作都是完美的。我的表名是正确的,所有的字段名称都是正确的!当我将ORDER BY date_time添加到查询中时发生PHP错误,我无法理解为什么,因为它在网站上的其他地方完全正常工作。码和误差都低于:PHP和MySQL ORDER BY date_time错误
// query responses
$sqlresponses = mysql_query("SELECT * FROM forum_replb ORDER BY date_time WHERE post_id='$disc_id'");
$responseList = "";
$numRows = mysql_num_rows($sqlresponses);
if ($numRows < 1) {
$responseList = "There are currently no responses to this discussion/post yet! Add one above.";
} else {
while($row = mysql_fetch_array($sqlresponses)){
$response_author_id = $row["author_id"];
$reply_body = $row["reply_body"];
$date_time = $row["date_time"];
$date_time = strftime("%b %d, %Y", strtotime($date_time));
$responseList .= '<div id="sub_response_module"><p>' . $reply_body . ' -
<a href="../profile.php?id=' . $response_author_id . '">' . $response_author_id . '</a>
| <i>' . $date_time . '</i></p></div>';
}
}
错误:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/public_html/lb/forum/post.php on line 49
只是为了澄清,线49是$ = numRows行mysql_num_rows($ sqlresponses);.
使用['mysql_error'](http://php.net/manual/en/function.mysql-error.php)获取实际的错误信息。如果你的查询失败了,'mysql_query'将返回'false'而不是'resource'。这里的问题是你忽略了这种情况,无论如何都要在$ sqlresoonse上调用'mysql_num_rows'。有关示例,请参阅手册。 – Basti 2012-04-09 10:10:32