【问题标题】:Check if a column exists in Joomla table检查 Joomla 表中是否存在列
【发布时间】:2017-09-19 14:51:32
【问题描述】:

我有一个包含 idname 列的表格。我想知道另一个新列filters 是否存在(当然它不存在)。

这就是我正在做的事情

$db = JFactory::getDBO();
$query = "SHOW COLUMNS FROM `#__facets` LIKE 'filters'";
$db->setQuery($query);
$res = $db->query();

如果我打印$res,它会在我期待NULL 时显示resource(675) of type (mysql result),因为列不存在。

如果我尝试使用name(该列存在):

$db = JFactory::getDBO();
$query = "SHOW COLUMNS FROM `#__facets` LIKE 'name'";
$db->setQuery($query);
$res= $db->query();

它也返回resource(234) of type (mysql result)

如何控制该列是否存在?查询没问题,因为它适用于 MySQL Workbench

PS:我用的是Joomla 1.5所以不能用getTableColumns()

【问题讨论】:

    标签: mysql joomla joomla1.5


    【解决方案1】:

    问题出在$res= $db->query(); 行。

    要获得所需的NULL,我必须使用loadResult() 而不仅仅是query()。所以正确的代码是:

    $db = JFactory::getDBO();
    $query = "SHOW COLUMNS FROM `#__facets` LIKE 'filters'";
    $db->setQuery($query);
    $res = $db->loadResult();
    

    【讨论】:

      猜你喜欢
      • 2015-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-27
      • 2017-09-28
      • 2013-08-07
      • 2021-12-17
      • 2018-06-19
      相关资源
      最近更新 更多