PHP расширяет mysqli_result - PullRequest
       4

PHP расширяет mysqli_result

0 голосов
/ 22 сентября 2011

У меня проблема с расширением класса mysqli_result.

Я пытаюсь расширить класс mysqli_result с помощью пользовательского класса.Вот мой код:

class mysqli_result_extended extends mysqli_result {

  public function GetJSON() {
    blah blah...
    return $json;   
  }       
}

$db = new mysqli('localhost','root','*****','somedb');

$sql = 'SELECT * FROM students';

$result = $db->query($sql);

$result->getJSON(); //This is causing the trouble

Когда я запускаю приведенный выше код, выдает ошибку:

Call to undefined method mysqli_result::getJSON() in ****.php on line **

Что не так с этим кодом?

1 Ответ

1 голос
/ 31 января 2012

Вы получаете ошибку, потому что $db->query($sql) возвращает переменную типа mysqli_result, а не mysqli_result_extended. Класс mysqli_result не имеет метода с именем getJSON.

Таким образом, когда вы определяете класс B, который расширяет класс A, не означает , что все экземпляры базового класса A магически становятся классом B.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...