1
Вот код, у меня есть проблемы с:
function getQuestions($mysqli, $subjectIdOrCode, $isStudent){
$idSubject = getSubjectId($mysqli, $subjectIdOrCode);
//writing the statement
$query = "select id,description from questions where id_subjects = ? and
is_for_student = ?";
//prepare statement
$stmt = $mysqli->prepare($query);
//binding the statement
$stmt->bind_param("si", $idSubject, $isStudent);
//execute the statement
$stmt->execute();
//get the result
$result = $stmt->get_result();
//store the result
$stmt->store_result();
//get the number of rows
$noOfRows = $stmt->num_rows();
$questions = null;
for ($i = 0; $i < $noOfRows; $i++) {
echo "test";
$row = $result->fetch_array(MYSQLI_ASSOC);
$questions[$i]['id'] = $row['id'];
$questions[$i]['sno'] = $i+1;
$questions[$i]['description'] = $row['description'];
}
return $questions;
}
Когда эта функция вызывается, ничего не печатается (что означает, что $noOfRows
является 0) , Теперь, когда линия:
//get the result
$result = $stmt->get_result();
удаляется, он печатает test
вместе с некоторым сообщением об ошибке, что $result
не определен (который ясно показывает, что $noOfRows
> 0).
Где я совершил ошибку в своем коде?
Заранее благодарен!
Боюсь, вы неправильно поняли мой вопрос. Я хочу получить «количество строк» в объектно-ориентированном формате. – Kevin
ok! Наконец, я понял это. Его '$ result-> num_rows', а не' $ stmt-> num_rows', когда используется '$ stmt-> get_result()'. – Kevin