Php 更改在codeigniter中查询数据库的方式

Php 更改在codeigniter中查询数据库的方式,php,codeigniter,pdo,Php,Codeigniter,Pdo,我编写面向对象的PHP,但最近我开始学习CodeIgniter 问题是我必须为每一个使用不同的语法(在查询数据库时) 在编写OOP代码时,我通常会这样做: public function insertAdvert() { $query = $this->db->prepare("INSERT INTO rooms (title, description, postcode) VALUES (?, ?)"); $query->bindValue(1, $thi

我编写面向对象的PHP,但最近我开始学习CodeIgniter

问题是我必须为每一个使用不同的语法(在查询数据库时)

在编写OOP代码时,我通常会这样做:

public function insertAdvert() {

    $query = $this->db->prepare("INSERT INTO rooms (title, description, postcode) VALUES (?, ?)");

    $query->bindValue(1, $this->title);
    $query->bindValue(2, $this->description);
    $query->execute();

}
对于CodeIgniter:

$sql = "INSERT INTO rooms (title, description) VALUES (?,?);"; 
$this->db->query($sql, array($this->title, $this->description));
有没有一种方法可以通过使用准备好的语句来查询CodeIgniter中的数据库?这两种方法开始相互融合,这并不好://

默认情况下,答案是“否”。Codeigniter有自己的查询语法,您不能像直接PDO那样绑定值/参数

然而,有一个第三方修改允许您在Codeigniter中使用真正的PDO语法,可以找到

它涉及到替换一个核心的Codeigniter文件,这通常是不鼓励的,但如果你能做到这一点,试试看