PHP扩展了mysqli_result

时间:2011-09-22 11:43:09

标签: php mysql mysqli

我在扩展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 个答案:

答案 0 :(得分:1)

您收到错误是因为$db->query($sql)返回的类型为mysqli_result而非mysqli_result_extended的变量。 mysqli_result类没有名为getJSON的方法。

因此,当您定义扩展类B的类A时,并不意味着基类A的所有实例都会神奇地成为类B