在 Joomla 2.5.14 中,当我使用 PHP 创建对 MySQL 的查询时,例如:
$query = "SELECT id FROM xmb9d_content WHERE state=1" ;
一切正常,但如果我不想要对数据库前缀 (xmb9d_) 的特定引用并使用:
$query = "SELECT id FROM #__content WHERE state=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();
xmb9d_content
是表的名称,通过将其替换为#__content
您正在尝试在不存在的表上运行查询(我假设),因此它不会工作。
前缀有什么问题?我不明白它怎么会给你带来麻烦