无法从Joomla阵列中提取数据

时间:2014-04-18 23:31:46

标签: php arrays database joomla

我正在尝试从以下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值没有?

3 个答案:

答案 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;