1

我在组件中创建了新的php文件。我想连接到Joomla数据库,但连接未知。错误信息如下:

Fatal error: Class 'JFactory' not found in D:\www\Joomla1.5\components\com_hello\views\hello\tmpl\index.php on line 13

如何 JFactory::getDBO()在公共场合使用?

4

2 回答 2

0

嗨,在我的情况下$result === null没有用,但是 !$result - 效果很好

$db = JFactory::getDBO();
$db->setQuery('INSERT INTO #__table (col1, col2) VALUES (val1, val2)');
$result = $db->query();
if (!$result) {
  JError::raiseWarning(100, $db->getErrorMsg());
}
于 2012-06-28T04:12:06.897 回答
0

为什么要在 tmpl 中获取数据库对象?DB 对象只能在您的控制器或模型中使用,而不应在您的视图或 tmpl 中使用。Tmpl 应该包含非常少的逻辑代码,主要是 HTML。

这个想法是通过调用模型中的函数来获取所需的信息。然后,您通过引用您的 tmpl 将这些数据传递给您在其中回显它。

[编辑]

$db = JFactory::getDBO();
$db->setQuery('INSERT INTO #__table (col1, col2) VALUES (val1, val2)');
$result = $db->query();
if ($result === null) {
  JError::raiseWarning(100, $db->getErrorMsg());
}
于 2011-07-06T08:33:17.010 回答