我对 CI 框架很陌生。我正在做一个项目,一切都很顺利,直到我尝试用表格编辑数据库中的一行。我收到这个错误消息:调用未定义的方法 CI_DB_mysqli_driver::prepare()这是我的控制器中的代码。 public function edit($id) { $alimente = $this->db->query('select alimente.id, alimente.name FROM alimente WHERE id = "' . $id . '" order by name desc')->result(); $content = $this->parser->parse('alimente/edit_alimente', array("ALIMENTE" => $alimente), true); $TITLE = "Modifica"; $array = array('TITLE' => $TITLE, 'CONTENT' => $content); $this->parser->parse('TEST', $array, false);}public function edit_done() { $name = $this->input->post("name"); $id = $this->input->post("id"); $query = $this->db->prepare("update alimente set name = '" . $name . "' where id = '" . $id . "'")->result(); $query->execute($name, $id); redirect("alimente");这是我的视图文件<form method="post" action="{SITE_URL}/alimente/edit_done"> <div class="form-group"> {ALIMENTE} <label> Id aliment</label> <input type="text" name="id" value= "{id}" readonly="true"class="form-control" /> <label> Nume aliment</label> <input type="text" name="name" value= "{name}" class="form-control" /> <br> {/ALIMENTE} </div> <input type="submit" value="Modifica" name=" modifica" class="btn btn-primary" /> </form>如果我更改准备查询最终结果是布尔值但发生编辑,我会收到此错误消息消息:在布尔值上调用成员函数 result()
1 回答
长风秋雁
TA贡献1757条经验 获得超7个赞
由于 CodeIgniter 不支持预处理语句,您可以像这样修改代码以使用 PDO 对象来运行您的预处理语句:
public function edit_done() {
$name = $this->input->post("name");
$id = $this->input->post("id");
$query = $this->db->conn_id->prepare('update alimente set name = ? where id = ?');
$query->execute($name, $id);
redirect("alimente");
- 1 回答
- 0 关注
- 88 浏览
添加回答
举报
0/150
提交
取消