mysql - 检查 Joomla 表中是否存在列

标签 mysql joomla joomla1.5

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

这就是我正在做的事情

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

如果我打印$res,当我期待NULL时,它会显示类型为(mysql结果)的resource(675),因为列不存在.

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

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

它还返回类型(mysql 结果)的resource(234)

如何控制该列是否存在?查询没问题,因为它可以在 MySQL Workbench 上运行

PS:我使用的是 Joomla 1.5,因此无法使用 getTableColumns()

最佳答案

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

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

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

关于mysql - 检查 Joomla 表中是否存在列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46303602/

相关文章:

mysql - 如何更改列名并以特殊字符显示?

jquery - 将 jQuery 导入 Joomla

php - 从 Joomla 模块发出重定向

joomla - 如何重命名 joomla 组件?

php - 如何从 joomla 1.5 模块中的另一个表获取数据?

php - AJAX 似乎发布了两次

php - 显示更多按钮 : With PHP and Mysql

mysql - 你能拆分/分解 MySQL 查询中的字段吗?

mysql - 使用 Joomla 模块并收到错误 "No valid database connection You have > an error in your SQL syntax"

php - 添加文章到 Jooma 时出现 500 内部服务器错误! 3.5 数据库