MySQL 1054未知列'数组'

时间:2013-05-06 12:27:22

标签: joomla

我正在使用Joomla 3.1并在代码中出现错误1054未知列'数组'请帮我修复它。

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();
    }

1 个答案:

答案 0 :(得分:2)

显然,$project_id[0]仍然拥有一个数组。由于我不知道$this->element['varname']来自何处,因此很难说你的变量是什么: - )

另外,作为一个注释:您可能应该在查询中使用它之前过滤输入,特别是如果您在示例中使用它未转义。至少使用(int)将其强制转换为数字。

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