簡體   English   中英

當 mysqli_query() 返回 true 時,mysqli_fetch_row() 返回 false

[英]mysqli_fetch_row() returns false when mysqli_query() returns true

我目前正在嘗試從數據庫中的多個表中讀取數據並以表格形式顯示結果。

但是mysqli_query()返回truemysqli_fetch_row()返回 false。 $link是已經初始化的連接對象。

代碼片段 1 :

$sql = "
    SELECT *
    FROM users_list, user_personal_details, user_bank_details
    WHERE
        users_list.email = user_personal_details.email AND
        users.email=userbank_details.email
    LIMIT $num_rec_per_page
    OFFSET $start_from"; 

$rs_result = mysqli_query($link, $sql);

if ($rs_result == false) {  
    echo "Query failed";
    exit();
}
else echo "Query successful";

代碼片段 2:

$row = mysqli_fetch_row($rs_result);
if ($row == false)
    echo "Invalid";

while ($row = mysqli_fetch_row($rs_result)) { 
    echo "In loop";
    $name = $row['name'];
    $date_added = $row['date_added'];
    echo $name;
    echo $date_added;
}

mysqli_fetch_row()已在循環外用於調試目的。 打印消息查詢成功 打印消息無效 可能是什么原因?

您調用 mysqli_fetch_row() 兩次,可能在第二次調用時得到false

可能是您的查詢返回 true,但可能它不返回任何結果。使用mysqli_num_rows()檢查您的查詢返回的行數。

並且不要兩次獲取行

$sql = "SELECT * FROM users_list,user_personal_details,user_bank_details where users_list.email=user_personal_details.email and users.email=userbank_details.email LIMIT $num_rec_per_page OFFSET $start_from";
    $rs_result = mysqli_query($link, $sql); //run the query
    if ($rs_result == false) {
        echo "Query failed";
        exit();
    } else {
        $data = mysqli_num_rows($rs_result);
        if ($data > 0) {
            while ($row = mysqli_fetch_row($rs_result)) {
                $name = $row['name'];
                $date_added = $row['date_added'];
                echo $name;
                echo $date_added;
            }
        } else {
            echo "No result found";
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM