PHP和MySQL按日期和时间排序错误
我正在开发自己的论坛,除了我尝试按日期和时间订购外,一切都很正常。我的表名是正确的,所有字段名也是正确的!当我将orderbydate\u time添加到查询中时,出现了一个PHP错误,我不明白为什么,因为它在站点的其他地方工作得非常好。代码和错误如下所示:PHP和MySQL按日期和时间排序错误,php,mysql,datetime,sql-order-by,Php,Mysql,Datetime,Sql Order By,我正在开发自己的论坛,除了我尝试按日期和时间订购外,一切都很正常。我的表名是正确的,所有字段名也是正确的!当我将orderbydate\u time添加到查询中时,出现了一个PHP错误,我不明白为什么,因为它在站点的其他地方工作得非常好。代码和错误如下所示: // query responses $sqlresponses = mysql_query("SELECT * FROM forum_replb ORDER BY date_time WHERE post_id='$disc_id'");
// 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>';
}
}
为了澄清,第49行是$numRows=mysql_num_rows($sqlresponses) 查询中出现语法错误-应该将顺序放在WHERE后面
mysql_query("SELECT * FROM forum_replb WHERE post_id='$disc_id' ORDER BY date_time ");
您的查询中有语法错误-您应该将ORDER BY放在WHERE之后
mysql_query("SELECT * FROM forum_replb WHERE post_id='$disc_id' ORDER BY date_time ");
您的ORDER BY子句必须位于WHERE子句之后:
SELECT * FROM forum_replb WHERE post_id='$disc_id' ORDER BY date_time
还请注意,mysql_uu函数系列已被弃用。您应该使用mysqli_uu函数,或者更好的PDO。您的ORDER BY子句需要位于WHERE子句之后:
SELECT * FROM forum_replb WHERE post_id='$disc_id' ORDER BY date_time
还请注意,mysql_uu函数系列已被弃用。您应该使用mysqli_uu函数,或者更好的PDO。用于获取实际的错误消息。如果查询失败,
mysql\u查询
将返回false
,而不是资源
。这里的问题是,您忽略了这种情况,并调用了$sqlresoonse上的mysql\u num\u rows
。有关示例,请参阅手册。用于获取实际错误消息。如果查询失败,mysql\u查询
将返回false
,而不是资源
。这里的问题是,您忽略了这种情况,并调用了$sqlresoonse上的mysql\u num\u rows
。请参阅手册中的示例。你们都是对的,我确实有语法错误。我最好醒醒!谢谢大家!你们都对,我确实有语法错误。我最好醒醒!谢谢大家!