私は学校向けの課題をPHPに学習し始めました。while(mysqli_fetch_array())は、さらに多くのものがある場合に1つの結果を返します
私はmysqli_fetch_array()関数に問題があります。ここで
は私のコードです:
//Find all book_id for a specific student_id
$query = " SELECT * FROM books_of_students WHERE student_id = '$s_id' ";
$result = mysqli_query($conn, $query);
$records_b_o_s = mysqli_num_rows($result);
私は変数$はそれを正しくrecords_b_o_sエコー場合は、MySQLがテーブルから返されたレコードの数を示し、ここでのphpMyAdminからのスクリーンショットです:
ここに私のコードの一部があります:
if ($records_b_o_s >= 1) {
while ($row = mysqli_fetch_array($result)) {
$temp_book_id = $row['book_id'];
//do other stuff
}
}
問題はループが1回だけ発生し、$ row ['book_id']が "books_of_students"テーブルにある最初の本の値を返すことです。例えば、私はループ内で次のコマンドを実行した場合:
はwhile ($row = mysqli_fetch_array($result)) {
$temp_book_id = $row['book_id'];
echo "Current book_id: " . $temp_book_id . "<br>"; //<---This one
//do other stuff
}
のみ1つのメッセージがあるでしょうし、それは私が本当にここに何をすべきか分からない
テーブルからのみ最初book_idが表示されます私はあなたの助けに感謝します!事前に感謝:)
彼らはあなたに準備陳述を教えたはずです。良い土台を持つのに役立ちます – Akintunde007
あなたはそのクエリを通過している '$ s_id'の値は何ですか? –
mysqli_fetch_array()の代わりにmysqli_fetch_assoc()を試し、 '='を削除する 'if($ records_b_o_s> 1)'を使ってください。 –