准备

时间:2017-01-11 10:08:27

标签: php mysql codeigniter pdo

我尝试使用PDO和codeigniter在我的数据库中插入一个新行。

这是我的功能:

function addStudent($st, $img){
        $stat = $this->db->prepare('INSERT INTO students (sName, phone, email, image) VALUES (:sName, :phone, :email, :img)');
        $stat->bindParam(':sName', $st['sName']);
        $stat->bindParam(':phone', $st['phone']);
        $stat->bindParam(':email', $st['email']);
        $stat->bindParam(':img', $img);
        $stat->execute();
        return $this->db->insert_id();
    }

由于某种原因我收到了这个错误:

  

'调用未定义的方法CI_DB_pdo_mysql_driver :: prepare()' (在函数的第一行)。   (我不确定它是否特别适用于准备方法,因为我可以在其他函数中使用$ this-> db-> query()方法)。

我还会附加database.php的{​​{1}}文件的配置。

codeigniter

1 个答案:

答案 0 :(得分:0)

您应该使用活动记录而不是PDO:

https://www.codeigniter.com/userguide3/database/query_builder.html

会是这样的:

$this->db->insert('students', array('column_name' => $variable,'column_name' => $variable,'column_name' => $variable,'column_name' => $variable,

要:

cr = csv.reader(f, delimiter=';',quotechar=None) ));