我正在尝试从以下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 ) )
为什么显示youtube链接的$link
值没有?
答案 0 :(得分:0)
你可以尝试
$youtube = $db->loadObjectList();
而不是
$youtube = $db->loadResultArray();
有关详细信息,请参阅http://docs.joomla.org/Selecting_data_using_JDatabase
答案 1 :(得分:0)
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();
答案 2 :(得分:0)
好吧,$ results是一个对象数组。所以你可能想尝试
$link = $results[0]->cb_featuredvideo;