2014-02-02 2 views
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).

Где я совершил ошибку в своем коде?

Заранее благодарен!

ответ

1

ОК ... У меня есть ваше мнение. Я только что положил код для получения num_rows

//get the number of rows                                  
    $noOfRows = $stmt->num_rows; 
+0

Боюсь, вы неправильно поняли мой вопрос. Я хочу получить «количество строк» ​​в объектно-ориентированном формате. – Kevin

+1

ok! Наконец, я понял это. Его '$ result-> num_rows', а не' $ stmt-> num_rows', когда используется '$ stmt-> get_result()'. – Kevin

Смежные вопросы