我在扩展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 **
这段代码出了什么问题?
答案 0 :(得分:1)
您收到错误是因为$db->query($sql)
返回的类型为mysqli_result
而非mysqli_result_extended
的变量。 mysqli_result
类没有名为getJSON
的方法。
因此,当您定义扩展类B
的类A
时,并不意味着基类A
的所有实例都会神奇地成为类B
。