【问题标题】:codeigniter SELECT query functioncodeigniter SELECT 查询函数
【发布时间】:2012-05-17 06:54:18
【问题描述】:

我是 codeigniter 的新手,正在尝试访问 mysql 数据库中的数据

这是我的模型类代码

function model_data($a){
$this->load->database();
$query = $this->db->query("SELECT* FROM mytable3");
return $query->result();    
}

function model_data_cat(){
$this->load->database();
$query = $this->db->query("SELECT* FROM mytable1");
return $query->result();    
} 

实际上,我在控制器中调用了两个函数。一个是model_data,另一个是model_data_cat。但我收到错误“解析错误:语法错误,意外 $end in”

但是,当我尝试这段代码时,它可以完美运行。

function model_data($a){
$this->load->database();
$query = $this->db->get('mytable3');    
return $query->result();    
}

function model_data_cat(){
$this->load->database();
$query = $this->db->get('mytable3');    
return $query->result();    
} 

谁能帮帮我... 谢谢。

【问题讨论】:

  • 你能把完整的错误代码+控制器代码吗?
  • 错误不在此代码中。听起来您在某处错过了;。请出示您的准确代码。
  • 检查codeigniter.com/user_guide/database/active_record.html - 这不能解决您的问题,但也许您会发现有用:)
  • 为什么不在模型的构造函数中加载数据库库,而不是作为每个函数的一部分?此外,如果您确实想要所有结果,get() 方法可能是最好的方法,如果您需要更具体地了解您想要的结果,那么@uzsolt 的链接将是构建查询的好方法。
  • 您发布的代码中没有语法错误(尽管SELECT*SELECT * 相比有点尴尬)。您在帖子中截断了错误消息,该消息应该具有确切的文件名和有错误的行(可能在您的控制器中)。我建议您发布整个错误消息。

标签: php codeigniter codeigniter-2


【解决方案1】:

您可以在配置文件夹的自动加载中调用库

查询可以通过不同的方式生成,例如:

$res = $this->db->get('table_name')->result();
return $res;

可以通过foreach 循环访问

foreach($res 作为 $key){ $value = $res->result();

}

【讨论】:

    【解决方案2】:

    正如您所说,将代码更改为 CodeIgniter 内置的 get 查询帮助程序有效,我在该代码中看到的唯一 可能 导致问题的是 @ 之间没有空格987654321@ 和*

    不应该造成问题,但由于这里没有其他问题,值得一试。

    【讨论】:

      【解决方案3】:

      意外的 $end 几乎总是意味着您错过了代码中某处的结束大括号、括号、引号等,而它不在那个位置。

      此外,由于您说替代段有效,因此我有时在复制/粘贴代码时也会遇到问题。尝试确保那里没有任何内容并重写代码段。

      【讨论】:

        猜你喜欢
        • 2015-12-08
        • 1970-01-01
        • 2017-06-12
        • 2011-04-09
        • 2019-05-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多