尝试使用此函数从我的数据库中获取未读消息,但我以这样的资源 id 错误结束:"Resource id #45
">
function unread_message_count() {
$sql = "SELECT conversations_messages.message_id, conversations_members.user_id, conversations_members.conversation_last_view, conversations_messages.message_date
FROM conversations_members
INNER JOIN conversations_messages ON conversations_messages.user_id = conversations_members.user_id
WHERE conversations_members.conversation_last_view < conversations_messages.message_date AND conversations_members.user_id = {$_SESSION['user_id']}";
$result = mysql_query($sql);
return $result;
}
我以这种方式调用该函数,但没有任何打印:
$count = unread_message_count();
echo $count;
mysql_query(
( 在成功时返回资源,或者在出错时返回FALSE
资源,您需要从结果中获取数据,例如:
...
$result = mysql_query($sql);
$rows = mysql_fetch_array($result);
return $rows;
顺便说一句,mysql_被弃用,应该使用MySQLi或PDO_MySQL扩展。
mysql_query()
返回资源。其中的 to 字符串(通过使用 echo
输出它隐式触发(是资源 ID #,后跟 id。
中的资源只应该与其他 PHP 函数一起使用。这包括但不限于文件、卷曲、ftp 句柄等。
使用mysql_fetch_array()
(或类似(
试试这个
function unread_message_count() {
$sql = "SELECT conversations_messages.message_id, conversations_members.user_id, conversations_members.conversation_last_view, conversations_messages.message_date
FROM conversations_members
INNER JOIN conversations_messages ON conversations_messages.user_id = conversations_members.user_id
WHERE conversations_members.conversation_last_view < conversations_messages.message_date AND conversations_members.user_id = {$_SESSION['user_id']}";
$result = mysql_query($sql);
$data = mysql_num_rows($result);
return $data;
}