从 Joomla 数据库查询结果的单行中获取单个值

问题描述 投票:0回答:3

我正在尝试从下面的

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 链接?

php joomla resultset
3个回答
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();

0
投票

你可以试试

$youtube = $db->loadObjectList();

而不是

$youtube = $db->loadResultArray();

有关更多详细信息,请参阅 http://docs.joomla.org/Selecting_data_using_JDatabase


0
投票

嗯,$results 是一个对象数组。所以你可能想尝试一下

$link = $results[0]->cb_featuredvideo;
© www.soinside.com 2019 - 2024. All rights reserved.