У меня есть этот код:
function retrieve_answers($array = array(), $id = null) { include(root_path . '\config.php'); if($id == null) { $id = $this->question_id; } $query = mysqli_query($link, "SELECT * FROM `answers` WHERE `question_id`='$id'"); if(!mysqli_num_rows($query)) { throw new Exception('Question not found.'); } /* - Retrieves the answer rows - Loops through the array - Indexes the array and assigns the answerID to the index */ else { while($result = mysqli_fetch_array($query)) { for($i=0;$i<mysqli_num_rows($query);$i++) { $array[$i] = $result["id"]; } } } }
Что входит в класс.
Что я пытаюсь сделать? Я пытаюсь принять массив как параметр и присваивать значения массиву, значения должны быть идентификаторами ответа, которые связаны с вопросом.
Файл test.php находится здесь:
<?php define('root_path', realpath(dirname(__FILE__))); include(root_path . '\config.php'); require_once(root_path . '\includes\question.class.php'); $q = new Question(3); $array = array(); $q->retrieve_answers($array); var_dump($array); ?>
Что происходит? Когда я пытаюсь отлаживать, выгружая массив, он показывает, что массив не содержит ничего:
array (0) {}
Я попытался выполнить результат MySQL через класс для отладки, и ему удалось получить идентификаторы ответов, поэтому я довольно уверен, что проблема в массиве.
Я был бы рад получить помощь, спасибо заранее.