我有以下代码:
function fetch_conversation_messages($conversation_id){
$conversation_id = (int)$conversation_id;
$sql = "SELECT
`conversations_messages`.`message_date`,
`conversations_messages`.`message_date` > `conversations_members`.`conversation_last_view` AS `message_unread`,
`conversations_messages`.`message_text`,
`users`.`user_name`
FROM `conversations_messages`
INNER JOIN `users` ON `conversations_messages`.`user_id` = `users`.`user_id`
INNER JOIN `conversations_members` ON `conversations_messages`.`conversation_id` = `conversations_members`.`conversation_id`
WHERE `conversations_messages`.`conversation_id` = {$conversation_id}
AND `conversations_members`.`user_id` = {$_SESSION['user_id']}
ORDER BY `conversations_messages`.`message_date` DESC";
$result = mysql_query($sql);
var_dump($result);
$messages = array();
while (($row = mysql_fetch_assoc($result)) !== false){
$messages[] = array(
'date' => $row['message_date'],
'unread' => $row['message_unread'],
'text' => $row['message_text'],
'user_name' => $row['user_name'],
);
}
var_dump( $messages );}
它应该返回如下内容:
Array ( [0] => Array ( [date] => 1322254667 [text] => one [user_name] => bob ) )但是,它返回
resource(16) of type (mysql result) array(0) { }我对PHP和SQL完全陌生,但我已经尝试过检查输入错误,回显mysql_error,并在出现错误时终止脚本,这表明MySQL中没有错误。
我不知道哪里出了问题,也不知道如何修复。
请帮帮我。提前谢谢。
发布于 2014-02-14 14:29:27
var_dump($result);显示resource(16) of type (mysql result)表示您的查询是ok的。
var_dump($messages);显示空数组表示查询结果为空。
发布于 2014-02-14 14:28:19
发布于 2014-02-14 14:30:00
对于SELECT、SHOW、DESCRIBE、EXPLAIN和其他返回结果集的语句,mysql_query()在成功时返回resource,在错误时返回FALSE。
对于其他类型的SQL语句,如INSERT、UPDATE、DELETE、DROP等,成功时mysql_query()返回TRUE,错误时返回FALSE。
https://stackoverflow.com/questions/21772227
复制相似问题