我已经为Joomla 3做了一个模块,它的工作但是有些时候没有,这些模块用一个函数提取一个随机用户来自tab会话,然后将变量传递给另一个函数,以检索头像,和id skipe,它的工作但似乎他也随机提取了用户在线的头像,同时我看到这个过程可以绑定很多工作db有一种方法可以减轻,另一个人告诉我可能有安全性问题,我认为由于skipe的id很清楚!
<?php
class modUno
{
public static function due()
{
$db = JFactory::getDBO();
$query = "SELECT userid AS memTotal FROM #__session ORDER BY RAND() LIMIT 1;";
$db->setQuery($query);
$result = $db->query();
return $result->fetch_object()->memTotal;
$mysqli->kill($db);
}
public static function tre()
{
$risultato = modUno::due();
$db = JFactory::getDBO();
$query = "SELECT avatar FROM #__comprofiler WHERE id = '{$risultato}'; ";
$db->setQuery($query);
$result = $db->loadResult();
return $result;
$mysqli->kill($db);
}
public static function quattro()
{
$risultato = modUno::due();
$db = JFactory::getDBO();
$query = "SELECT cb_skipe FROM #__comprofiler WHERE id= '{$risultato}'; ";
$db->setQuery($query);
$result = $db->loadResult();
return $result;
$mysqli->kill($db);
}
}
?>
答案 0 :(得分:0)
尝试使用以下内容:
<?php
class modUno {
public static function due() {
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select($db->quoteName('userid') . 'AS' . $db->quoteName('memTotal'))
->from($db->quoteName('#__session'))
->order('RAND()')
->setLimit(1);
$db->setQuery($query);
return $db->loadResult();
}
public static function tre() {
$risultato = due();
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select($db->quoteName('avatar'))
->from($db->quoteName('#__comprofiler'))
->where($db->quoteName('id') . ' = ' . $db->quote($risultato));
$db->setQuery($query);
return $db->loadResult();
}
public static function quattro() {
$risultato = due();
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select($db->quoteName('cb_skipe'))
->from($db->quoteName('#__comprofiler'))
->where($db->quoteName('id') . ' = ' . $db->quote($risultato));
$db->setQuery($query);
return $db->loadResult();
}
}
?>
我做了一些修改,但没有测试过,所以如果有效,请告诉我。