現在、データベースの複数のテーブルからデータを読み込み、結果を表形式で表示しようとしています。mysqli_query()がtrueを返すと、mysqli_fetch_row()はfalseを返します
ただし、mysqli_query()
はtrue
となり、mysqli_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_num_rows()を使用してクエリによって返される行の数を確認してください。 – Saty
あなたの行は2回フェッチされます – Saty
mysqli_fetch_row 'boolean'ではなく' array'を返します。 '$行= mysqli_fetch_row($ rs_result); if($ row == false) ' – Abbasi