WHERE 语句在 Joomla 中不起作用!3.0.3.php请求
我正在尝试在 Joomla 3.0.3 的简单查询中添加 WHERE 语句.但代码仅在我用 WHERE 语句注释该行时才有效.你有什么建议吗?非常感谢!
getQuery(true);$query->select(array('Name','InstrumentFamily'));$query->from('instrumenttype');$query->where($db->nameQuote('InstrumentFamily').'='.$db->quote('debt'));$db->setQuery($query);$result = $db->loadAssocList();打印_r($result);?>
PS:请注意,我正在使用 Sourcerer 扩展在 Joomla 的后端键入此类语句!
解决方案自从 Joomla!1.6.x nameQuote
在 Joomla 中已折旧!3.x 不再可用.您可以在这篇文章Joomla 3.0 和 Joomla Platform 12.1 中潜在的向后兼容性问题中找到更多信息"
许多这些JDatabase
(又名JDatabaseDriver
)更改是为了启用除MySQL 以外的更多支持数据库.
在 Joomla!3.x 您将需要使用替换 $db->quoteName()
替换表名或列名,替换 $db->quote
替换任何值.>
因此,您的 where
元素变为:
$query->where($db->quoteName('InstrumentFamily').'='.$db->quote('debt'));
I am trying to add a WHERE statement in a simple query in Joomla 3.0.3. but the code only works when I comment the line with the WHERE statement. Do you have any suggestion? Many thanks!
<?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: note that I'm using the Sourcerer extension to type such statements in the back end of Joomla!
解决方案Since Joomla! 1.6.x nameQuote
has been depreciated, in Joomla! 3.x it is no longer available. You can find more in this article "Potential backward compatibility issues in Joomla 3.0 and Joomla Platform 12.1"
A lot of these JDatabase
(aka JDatabaseDriver
) changes are to enable greater support databases other than MySQL.
In Joomla! 3.x you will need to use the replacement $db->quoteName()
for table or column names and $db->quote
for any values.
So, your where
element becomes:
$query->where($db->quoteName('InstrumentFamily').'='.$db->quote('debt'));
相关文章