我对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个问题,
查询数据库时,将打开一个新的数据库会话,是否需要在自动后关闭它?
您是否知道实现此方法的更有效方法(用户会话内存大小约为11MB!)
使用此方法访问数据库是否存在任何安全问题?
非常感谢你!任何帮助将不胜感激!
该代码应如下所示(我现在不知道它如何工作):
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及其后的内容)