大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说CI查询构造器类(插入数据、更新数据、删除数据)「建议收藏」,希望您对编程的造诣更进一步.
$data = array( "title" => "My title", "name" => "My Name", "date" => "My date" ); $this->db->insert("mytable", $data); // Produces: INSERT INTO mytable (title, name, date) VALUES ("My title", "My name", "My date")
代码100分
第一个参数为要插入的表名,第二个参数为要插入的数据,是个关联数组。
下面是使用对象的例子:
代码100分/* class Myclass { public $title = "My Title"; public $content = "My Content"; public $date = "My Date"; } */ $object = new Myclass; $this->db->insert("mytable", $object); // Produces: INSERT INTO mytable (title, content, date) VALUES ("My Title", "My Content", "My Date")
第一个参数为要插入的表名,第二个参数为要插入的数据,是个对象。
1.2 $this->db->get_compiled_insert()
该方法和 $this->db->insert() 方法一样根据你提供的数据生成一条 INSERT 语句,但是并不执行。
例如:
$data = array( "title" => "My title", "name" => "My Name", "date" => "My date" ); $sql = $this->db->set($data)->get_compiled_insert("mytable"); echo $sql; // Produces string: INSERT INTO mytable (`title`, `name`, `date`) VALUES ("My title", "My name", "My date")
第二个参数用于设置是否重置查询(默认情况下会重置,正如 $this->db->insert() 方法一样):
代码100分echo $this->db->set("title", "My Title")->get_compiled_insert("mytable", FALSE); // Produces string: INSERT INTO mytable (`title`) VALUES ("My Title") echo $this->db->set("content", "My Content")->get_compiled_insert(); // Produces string: INSERT INTO mytable (`title`, `content`) VALUES ("My Title", "My Content")
上面的例子中,最值得注意的是,第二个查询并没有用到 $this->db->from() 方法, 也没有为查询指定表名参数,但是它生成的 SQL 语句中有 INTO mytable 子句。 这是因为查询并没有被重置(使用 $this->db->insert() 方法会被执行并被重置, 使用 $this->db->reset_query() 方法直接重置)。
1.3 $this->db->insert_batch()
该方法根据你提供的数据生成一条 INSERT 语句并执行,它的参数是一个**数组** 或一个**对象**,下面是使用数组的例子:
$data = array( array( "title" => "My title", "name" => "My Name", "date" => "My date" ), array( "title" => "Another title", "name" => "Another Name", "date" => "Another date" ) ); $this->db->insert_batch("mytable", $data); // Produces: INSERT INTO mytable (title, name, date) VALUES ("My title", "My name", "My date"), ("Another title", "Another name", "Another date")
第一个参数为要插入的表名,第二个参数为要插入的数据,是个二维数组。
2. 更新数据
2.1 $this->db->replace()
该方法用于执行一条 REPLACE 语句,REPLACE 语句根据表的**主键**和**唯一索引** 来执行,类似于标准的 DELETE + INSERT 。 使用这个方法,你不用再手工去实现 select(),update(),delete() 以及 insert() 这些方法的不同组合,为你节约大量时间 。
例如:
$data = array( "title" => "My title", "name" => "My Name", "date" => "My date" ); $this->db->replace("table", $data);
注解这个方法不支持批量插入。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/10173.html