我的功能完美无缺:
function listimages($session) {
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('url_name', 'file_name')));
$query->from($db->quoteName('#__webfoot_photo_studio_photos'));
$db->setQuery($query);
$results = $db->loadObjectList();
return $results;
}
直到我尝试添加WHERE语句:
$query->where($db->quoteName('session' == '$session'));
'会话'是数据库中的列,$ session是通过函数传入的值。
我收到此错误:
1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3 SQL=SELECT `url_name`,`file_name` FROM `p9e2i_webfoot_photo_studio_photos` WHERE
有关修复此语法的任何建议或建议都非常感谢。我一直无法找到解决方案。
答案 0 :(得分:2)
尝试以下方法:
function listimages($session) {
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('url_name', 'file_name')))
->from($db->quoteName('#__webfoot_photo_studio_photos'))
->where($db->quoteName('session') . ' = ' . $db->quote($session));
$db->setQuery($query);
$results = $db->loadObjectList();
return $results;
}
==
并使用了一个=
$session
$db->quote($session)
变量
quoteName
不正确,因此更改了请记住,quote
用于转义值,quoteName
用于列。
每当有疑问时,请始终返回Joomla文档以获取数据库查询,因为它提供了一些很好的示例:
http://docs.joomla.org/Selecting_data_using_JDatabase
希望这有帮助