-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 がリソースであると想定し、ブール値は C:\xampp\htdocs\lr\profile.php の 65 行目に指定されています

<?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

はい、これは Google が教えてくれるので有効です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 に答える