Joomla扩展更新 - 将列添加到数据库表

时间:2013-02-07 14:27:54

标签: php mysql joomla joomla2.5 joomla-extensions

我已阅读有关在扩展更新时运行SQL文件的Joomla Documentation,但问题是我们的扩展的先前版本没有SQL文件,因此无法使用此方法。

我很确定在installscript.php中运行SQL命令可以完成,所以我尝试将查询添加到更新函数中,如下所示:

function update( $parent ) {

    echo '<p>' . JText::_('MOD_SHOUTBOX_UPDATE') . $this->release . '</p>';

    $db = JFactory::getDBO();
    $sql = "ALTER TABLE #__shoutbox ADD COLUMN user_id int(11) NOT NULL DEFAULT '0'";
    $db->setQuery($sql);
}

如果通过PHPMyAdmin添加查询并且我也打开了系统调试但查询没有出现在列表中,则查询工作正常。

有谁知道我哪里出错了?

1 个答案:

答案 0 :(得分:3)

如果你确定调用了update函数而不是它不起作用的唯一原因是你缺少query函数。

添加此行

$result = $db->query();

之后

$db->setQuery($sql);

希望这会有所帮助。