我们的Joomla插件现在需要一个新列。
因此,对于将安装新插件版本的现有安装(旧版本),我们需要检测此列的缺失情况" linkimageflag"在数据库上,然后添加它。
我尝试了几个代码段,但它始终显示此错误:
" 1054未知栏' linkimageflag'在'字段列表' SQL = SELECT linkimageflag FROM nk6px_test_plugin"
这是我尝试的最后一个代码:
$querycol = "SELECT linkimageflag FROM #__test_plugin";
$database->setQuery($querycol);
$colresult = $database->query();
// $ rows = $ database-> loadObjectList();
if (!$colresult) {
$querycol = "ALTER TABLE #__test_plugin ADD linkimageflag varchar(10) NOT NULL";
$database->setQuery($querycol);
$database->query();
}
执行此类操作的正确代码是什么?
谢谢。
答案 0 :(得分:5)
您可以使用
$db = JFactory::getDBO();
$columns = $db->getTableColumns('#__your_table_name');
if(!isset($columns['columnName'])){
// run your query to add column
}