在Joomla 2.5.14中,当我使用PHP创建MySQL查询时,如:
$query = "SELECT id FROM xmb9d_content WHERE state=1" ;
一切正常,但如果我不想要对数据库前缀(xmb9d_)的特定引用并使用:
$query = "SELECT id FROM #__content WHERE state=1" ;
查询未执行。这是构建查询的正确方法还是此代码有什么问题?
答案 0 :(得分: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();
答案 1 :(得分:0)
xmb9d_content
是表的名称,用#__content
替换它,你试图在不存在的表上运行查询(我假设),所以它不会工作。
前缀有什么问题?我不明白它是如何导致你出现问题的