-4

我可以像这样在mysql中一起使用where和order by吗

$results=mysql_query("SELECT `status_content`
    FROM `status`
    WHERE `user_id`=".$_SESSION['user_id']."
    ORDER BY `status_time` DESC" );

她是我的代码,但它给了我错误

警告:mysql_fetch_array() 期望参数 1 是资源,布尔值在第 65 行的 C:\xampp\htdocs\lr\profile.php 中给出

<?php 
$results=mysql_query("SELECT status_content FROM status 
                      WHERE user_id=".$_SESSION['user_id']."
                      ORDER BY status_time DESC" );
while($row=mysql_fetch_array($results)) { 
    echo $row['status_content']; 
} 
?>
4

1 回答 1

1

是的,这是有效的,因为谷歌会告诉你http://dev.mysql.com/doc/refman/5.0/en/select.html

对于您的实际错误,来自 php docs

对于 SELECT、SHOW、DESCRIBE、EXPLAIN 和其他返回结果集的语句,mysql_query() 成功时返回资源,错误时返回 FALSE。

// Perform Query
$result = mysql_query($query);

// Check result
// This shows the actual query sent to MySQL, and the error. Useful for debugging.
if (!$result) {
    $message  = 'Invalid query: ' . mysql_error() . "\n";
    $message .= 'Whole query: ' . $query;
    die($message);
}

// Use result
// Attempting to print $result won't allow access to information in the resource
// One of the mysql result functions must be used
// See also mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc.
while ($row = mysql_fetch_assoc($result)) {
    // do something
}

另外:您不应再使用 mysql_* 函数,因为它们已被弃用且不安全。请改用mysqli_*PDO

于 2013-11-05T08:17:16.137 回答