如何从数据库请求中获取多行

时间:2012-12-20 18:47:34

标签: php mysql

这是我到目前为止所拥有的。它调用数据库并接收一条注释和随之而来的所有值,但我想获得具有相同id的多个注释。如何设置数组以获取多个注释?

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;
        }
    }

1 个答案:

答案 0 :(得分:2)

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

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

DO

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

return $rows; 

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

在调用函数中,您应该检查空数组而不是空值