[英]Close session after executing database query
我对joomla和sql的经验很少,非常感谢您的帮助! 我正在使用joomla 2.5,正在从数据库中查询数据,并使用以下代码将其存储在内存中:
function getList()
{
$mainframe = JFactory::getApplication('site');
$db = JFactory::getDBO();
$query = " SELECT
*
FROM
#__ListUser
WHERE
$db->setQuery( $query );"
$rows = $db->loadObjectList();
return $rows;
}
我有3个问题,
非常感谢你! 任何帮助将不胜感激!
该代码应如下所示(我现在不知道它如何工作):
function getList()
{
// $mainframe = JFactory::getApplication('site'); // you don't need this line!
$db = JFactory::getDBO();
$query = " SELECT
*
FROM
#__ListUser
WHERE
1=1"; // just some condition to extract selected rows
$db->setQuery( $query ); // this sets the query and it's joomla, not sql.
$rows = $db->loadObjectList();
return $rows;
}
请注意WHERE ....需要一个条件(否则,如果要所有行,请删除WHERE及其后的内容)
尝试
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select($db->quote('*')
->from($db->quoteName('#__Listuser') // Do you really have upper case there?
->where('your condition with proper quoting');
$db->setQuery($query);
$rows = $db->loadObjectList();
1。
UNCOOL:
如果要关闭或断开数据库会话,可以使用:
$db->disconnect(); // See: http://api.joomla.org/cms-3/classes/JDatabaseDriver.html#method_disconnect
但是我想,每个其他要使用JFactory :: getDBO();的模块,插件或模板的数据库连接; 也会关闭,然后需要重新打开。
更好:
将查询转移到PHP变量后,您应该改用FREE RESULT: http : //api.joomla.org/cms-3/classes/JDatabaseDriverMysql.html#method_freeResult
$db->freeResult();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.