0

在 Joomla 2.5.14 中,当我使用 PHP 创建对 MySQL 的查询时,例如:

$query = "SELECT id FROM xmb9d_content WHERE state=1" ;

一切正常,但如果我不想要对数据库前缀 (xmb9d_) 的特定引用并使用:

$query = "SELECT id FROM #__content WHERE state=1" ;

查询未执行。这是构建查询的正确方法还是此代码有什么问题?

4

2 回答 2

1

您需要使用数据库前缀并遵守 Joomla 2.5 编码标准。只要您的查询是正确的,前缀应该没有任何问题。

它应该是这样的:

$db = JFactory::getDbo();

$query = $db->getQuery(true);
$query->select('id')
 ->from('#__content')
 ->where('state = 1');

$db->setQuery($query);

$results = $db->loadObjectList();
于 2013-08-24T22:26:16.230 回答
0

xmb9d_content是表的名称,通过将其替换为#__content您正在尝试在不存在的表上运行查询(我假设),因此它不会工作。

前缀有什么问题?我不明白它怎么会给你带来麻烦

于 2013-08-24T21:39:57.967 回答