在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
。如果您试图在不存在的表上运行查询(我认为),则它将无法工作。
前缀有什么问题?我不明白它怎么会给你带来问题