我正在尝试从下面的
loadResultArray
调用中提取值:
$query = 'SELECT cb_featuredvideo FROM #__comprofiler WHERE user_id = '.$id.'';
// Reset the query using our newly populated query object.
$db->setQuery($query);
$youtube = $db->loadResultArray();
$link = $youtube[0];
// Load the results as a list of stdClass objects.
$results = $db->loadObjectList();
问题是当我检查
$link
的值时,它显示为空。如果我从 $results
打印数组,我会得到预期的输出:
Array ( [0] => stdClass Object ( [cb_featuredvideo] => http://youtu.be/ytJCZnG3k9k ) )
为什么
$link
值不显示 YouTube 链接?
那
loadResult()
呢?
根据http://docs.joomla.org/Selecting_data_using_JDatabase:
当您希望从数据库查询中只返回单个值时,请使用 loadResult()。
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('field_name');
$query->from($db->quoteName('#__my_table'));
$query->where($db->quoteName('some_name')." = ".$db->quote($some_value));
$db->setQuery($query);
$result = $db->loadResult();
你可以试试
$youtube = $db->loadObjectList();
而不是
$youtube = $db->loadResultArray();
有关更多详细信息,请参阅 http://docs.joomla.org/Selecting_data_using_JDatabase
嗯,$results 是一个对象数组。所以你可能想尝试一下
$link = $results[0]->cb_featuredvideo;