我试图在Joomla 3.0.3的简单查询中添加WHERE语句。但是只有当我用WHERE语句注释该行时,代码才有效。你有什么建议吗?非常感谢!
<?php
$query = $db->getQuery(true);
$query->select(array('Name','InstrumentFamily'));
$query->from('instrumenttype');
$query->where($db->nameQuote('InstrumentFamily').'='.$db->quote('debt'));
$db->setQuery($query);
$result = $db->loadAssocList();
print_r($result);
?>
PS:请注意我正在使用Sourcerer扩展在Joomla的后端输入这样的语句!
答案 0 :(得分:6)
自Joomla以来!在Joomla中已经折旧了1.6.x nameQuote
! 3.x它已不再可用。您可以在本文&#34; Potential backward compatibility issues in Joomla 3.0 and Joomla Platform 12.1&#34;
许多这些JDatabase
(又名JDatabaseDriver
)更改是为了启用除MySQL之外的更多支持数据库。
在Joomla! 3.x您需要使用替换$db->quoteName()
表格或列名称,$db->quote
表示任何值。
因此,您的where
元素变为:
$query->where($db->quoteName('InstrumentFamily').'='.$db->quote('debt'));