我有以下代码:
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*');
$query->from('#__users');
$db->setQuery($query);
// Check for a database error.
if ($db->getErrorNum()) {
JError::raiseWarning(500, $db->getErrorMsg());
}
$result = $db->loadResult();
现在getErrorNum以及JError已被弃用。
只是为了澄清,JError和$ DB-> getErrorNum()不是的Joomla 2.5弃用,但在的Joomla! 3.0。 所以这个问题对人谁开发2.5,但希望做一个轻松升级到3.X系列的价值。
因此, 与什么来取代他们 ,这样我可以正确检查数据库错误?
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*')
->from('#__users');
try
{
$db->setQuery($query);
$result = $db->loadResult();
}
catch (RuntimeException $e)
{
echo $e->getMessage();
}
希望能帮助到你
JError是不是在的Joomla 2.5过时 - 但在的Joomla 3.0(平台12.1起),以便为Joomla 2.5,这是不是一个问题。 JError正在与PHP的异常代替(链接到PHP指南这里 )
还有这个一个Joomla论坛的问题在这里
使用异常也是getErrorNum()的情况下 - 再次阅读上面的PHP文件的链接获取更多信息。 有在页面上一个不错的mysql例子在这里 。
$app = JFactory::getApplication();
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*')
->from('#__tablename');
try
{
$db->setQuery($query);
$result = $db->loadObjectList();
}
catch (Exception $e)
{
$app->enqueueMessage(JText::_($e->getMessage()), 'error');
}
并重定向到您的网址。 将被显示的错误信息
文章来源: Joomla! JDatabase::getErrorNum() is deprecated, use exception handling instead