1

我正在使用 Joomla 3.1 并且在代码中有一个错误 1054 Unknown column 'Array' 请帮我修复它。

protected function getOptions()
{
    // Initialize variables.
    $options = array();

    $varname = (string) $this->element['varname'];
    $project_id = JFactory::getApplication()->input->get($varname);
    if (is_array($project_id)) {
        $project_id = $project_id[0];
    }

    if ($project_id)
    {
        $db = JFactory::getDbo();
        $query = $db->getQuery(true);

        $query->select('id AS value');
        $query->select('CASE LENGTH(name) when 0 then CONCAT('.$db->Quote(JText::_('COM_JOOMLEAGUE_GLOBAL_MATCHDAY_NAME')). ', " ", id) else name END as text ');
        $query->from('#__joomleague_round ');
        $query->where('project_id = '.$project_id);
        $query->order('roundcode');
        $db->setQuery($query);
        $options = $db->loadObjectList();
    }
4

1 回答 1

2

显然,$project_id[0]仍然持有一个数组。因为我不知道$this->element['varname']来自哪里,所以很难说你的变量是什么:-)

还请注意:您可能应该在查询中使用输入之前对其进行过滤,特别是如果您像在示例中那样使用未转义的输入。(int)至少使用一个数字强制它。

要转储一些变量内容,我可以推荐 JDump。这是 JED ( http://extensions.joomla.org/extensions/miscellaneous/development/1509 )上提供的非商业扩展。

于 2013-05-06T13:32:55.897 回答