[英]Query database in Joomla 2.5
我正在使用Joomla 2.5,我需要为当前用户检索字段“头像”。
这是我正在使用的代码:
$user = JFactory::getUser();
$id = $user->get('id');
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('avatar')
->from('#__discuss_users')
->where('id = $id');
$db->setQuery($query);
$results = $db->loadObjectList();
但是它不显示任何数据。 我尝试将最后一行更改为:
$results = $db->loadResult();
但这也不起作用。
如果您在发布时使用它,则不会在查询中包含$ id的实际值。 您需要将其附加到这样的字符串中:
$query->select('avatar')
->from('#__discuss_users')
->where('id = '.$id);
我通常不使用$ query-> select东西,而是一个普通的旧查询。 因此,您可以尝试这样做(尽管这可能不是最佳实践):
$user = JFactory::getUser();
$id = $user->get('id');
$db = JFactory::getDBO();
// $query = $db->getQuery(true);
$query = "SELECT ".$db->quoteName('avatar')
." FROM ".$db->quoteName('#__discuss_users')
." WHERE ".$db->quoteName('id')
." = ".$db->quote($id).";";
// $query->select('avatar')
// ->from('#__discuss_users')
// ->where('id = $id');
$db->setQuery($query);
$results = $db->loadObjectList();
谢谢你的帮助。 以下代码有效:
$user = JFactory::getUser();
$id = $user->get('id');
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query
->select($db->quoteName('avatar'))
->from($db->quoteName('#__discuss_users'))
->where('id = '.$id);
$db->setQuery($query);
$results = $db->loadResult();
echo $results;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.