首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP var_dump返回资源(16)

PHP var_dump返回资源(16)
EN

Stack Overflow用户
提问于 2014-02-14 14:23:58
回答 3查看 4K关注 0票数 0

我有以下代码:

代码语言:javascript
复制
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 );

}

它应该返回如下内容:

代码语言:javascript
复制
Array ( [0] => Array ( [date] => 1322254667 [text] => one [user_name] => bob ) )

但是,它返回

代码语言:javascript
复制
resource(16) of type (mysql result) array(0) { }

我对PHP和SQL完全陌生,但我已经尝试过检查输入错误,回显mysql_error,并在出现错误时终止脚本,这表明MySQL中没有错误。

我不知道哪里出了问题,也不知道如何修复。

请帮帮我。提前谢谢。

EN

回答 3

Stack Overflow用户

发布于 2014-02-14 14:29:27

var_dump($result);显示resource(16) of type (mysql result)表示您的查询是ok的。

var_dump($messages);显示空数组表示查询结果为空。

票数 1
EN

Stack Overflow用户

发布于 2014-02-14 14:28:19

当查询有效时,mysql_query函数应返回resource

要查看查询的实际返回结果,可以使用mysql_fetch_assocmysql_fetch_object等行提取函数。在本例中,您将获取的值放入$row变量中,因此可以对其使用var_dump。

代码语言:javascript
复制
while ($row = mysql_fetch_assoc($result)){
        var_dump($row);
}

尝试检查此reference

票数 0
EN

Stack Overflow用户

发布于 2014-02-14 14:30:00

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

对于其他类型的SQL语句,如INSERT、UPDATE、DELETE、DROP等,成功时mysql_query()返回TRUE,错误时返回FALSE。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21772227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档