致命错误:在第43行的C:\xampp\htdocs\Joomla15\components\com\u onlinetraining\onlinetraining.php中对非对象调用成员函数load()

致命错误:在第43行的C:\xampp\htdocs\Joomla15\components\com\u onlinetraining\onlinetraining.php中对非对象调用成员函数load(),php,mysql,joomla,Php,Mysql,Joomla,从错误中获取以下信息: 致命错误:在C:\xampp\htdocs\Joomla15\components\com\u book\book.php的第43行对非对象调用成员函数load() 以下是我的php函数: function viewBook($option) { $id = JRequest::getVar('id', 0); $row =& JTable::getInstance( 'book', 'Table'); $row->load($i

从错误中获取以下信息:

致命错误:在C:\xampp\htdocs\Joomla15\components\com\u book\book.php的第43行对非对象调用成员函数load()

以下是我的php函数:

function viewBook($option)  
{  
  $id = JRequest::getVar('id', 0);  
  $row =& JTable::getInstance( 'book', 'Table');  
  $row->load($id);  

  if(!$row->type)  
  {  
    JError::raiseError( 404, JText::_('Invalid ID Provided'));          
  }  
  HTML_book::viewBook($row, $option);  
}
另外,当我尝试打印echo$row+“;”时,它返回0


谢谢

您是否检查过是否确实有一个命名良好的Table类

例如,如果您的表类被称为BooksTableBook,那么您对JTable::getInstance的调用应该是:

JTable::getInstance( 'book', 'BooksTable' );
如果您使用的是最新版本的PHP,则应删除此行中的“&”(现在已弃用):


我希望有帮助

似乎
JTable::getInstance('book','Table')未返回对象。请您解释一下,并给出解决方案。我是PHP新手。
JTable::getInstance('book','Table')
可能返回空引用(或在php中正式调用的任何引用)。执行
var\u转储($row);死亡(“支票”)在赋值行之后,检查$row对象是否被正确赋值。
$row =**&** JTable::getInstance( 'book', 'Table');