配置问题:Codeigniter和Firebird

时间:2015-06-23 00:54:53

标签: php codeigniter firebird double-quotes

我正在整合Codeigniter和Firebird ......我创建了一个包含两个表的简单数据库:CITIES和STATES。

当我运行应用程序时,连接正常,但是当我尝试使用所有状态时使用:

$qry = $this->db->get("states");

我收到以下错误消息:

  

错误号:-204动态SQL错误SQL错误代码= -204表   未知状态在第2行第1列SELECT * FROM“states”文件名:   C:/xampp/htdocs/ci_test/application/controllers/Home.php行号:   11

我意识到问题的原因是SQL查询的双引号。导致查询:

SELECT * FROM states;

运行正常。

有没有人遇到过这个问题和/或知道如何解决它?

3 个答案:

答案 0 :(得分:1)

看起来codeigniter引用了对象名称。在Firebird中,不带引号的名称不区分大小写:它们的处理方式就像它们是大写的一样。带引号的名称区分大小写:它们按原样处理。这意味着表STATES可以引用为statesSTATES"STATES",但不能引用为"states"

我不知道codeigniter,但您可以应用以下解决方案:

  1. 找到一种方法,以便codeigniter不引用对象名称
  2. 在代码中使用大写$this->db->get("STATES")
  3. 更改表格,使其名称为小写。

答案 1 :(得分:0)

function get_states_data() {
    $this->db->select ( '*' );
    $this->db->from ( 'states' );
    $query = $this->db->get ();
    return $query->result ();
}

检查此代码:)

答案 2 :(得分:0)

只需使用此代码而不是现有代码

self.navigationController!.navigationItem.rightBarButtonItem = menu_button_