【问题标题】:How to get multiple rows from a database request如何从数据库请求中获取多行
【发布时间】:2012-12-20 18:47:34
【问题描述】:

这是我目前所拥有的。它调用数据库并接收一条评论和与之相关的所有值,但我想获得多个具有相同 id 的 cmets。如何设置一个数组来获取多个 cmets?

function get_comment_by_id($lake_id) {

        global $connection;
        $query = "SELECT * ";
        $query .= "FROM comments ";
        $query .= "WHERE lakeId=" . $lake_id ." ";
        //$query .= "LIMIT 1";
        $result_set = mysql_query($query, $connection);
        confirm_query($result_set);

        // REMEMBER:
        // if no rows are returned, fetch_array will return false
        if ($comment = mysql_fetch_array($result_set)) {
            return $comment;
        } else {
            return NULL;
        }
    }

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    你只需要把它放在一个while循环中。而不是

    if ($comment = mysql_fetch_array($result_set)) {
        return $comment;
    } else {
        return NULL;
    }
    

    $rows = array();
    while($comment = mysqli_fetch_array($result_set))
        $rows[] = $comment;
    
    return $rows; 
    

    而且您还需要使用 mysqli_* 函数,因为 mysql_* 函数已被弃用。

    在调用函数中你应该检查一个空数组而不是一个空值

    【讨论】:

    • 非常感谢奥马尔的帮助!
    • 没问题,如果它回答了你的问题,只需点击复选标记以选择它
    • 现在我有这个错误:mysqli_query() 期望参数 1 是 mysqli,给定字符串
    • 你对mysqli函数的使用需要保持一致
    猜你喜欢
    • 1970-01-01
    • 2021-05-11
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 2023-03-06
    • 2022-01-25
    • 2021-08-29
    • 1970-01-01
    相关资源
    最近更新 更多