为了账号安全,请及时绑定邮箱和手机立即绑定

CodeIgniter 调用未定义的方法准备

CodeIgniter 调用未定义的方法准备

PHP
达令说 2022-10-28 15:30:52
我对 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");


查看完整回答
反对 回复 2022-10-28
  • 1 回答
  • 0 关注
  • 88 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信