我刚开始学习PHP,我必须为学校做一项任务。
我遇到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
}
}
问题是循环只发生一次而$ 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
}
只有一条消息,它只显示表格中的第一个book_id
我真的不知道该怎么做,所以我非常感谢你的帮助!在此先感谢:)
答案 0 :(得分:0)
感谢大家的时间和答案!
事实证明我在while()循环中做了一些愚蠢的事情。在某些时候我改变了$ result变量的值而没有注意到它!现在代码可以正常工作了!