如何在Codeigniter 3.0中使用PDO插入blob

时间:2014-06-18 05:19:28

标签: codeigniter pdo blob

我正在使用此代码...

$sql = "INSERT INTO images (imgname,imgtype,imgwidth,imgheight,imgdata,imgthumb,status) VALUES (?,?,?,?,?,?,?)";
$stmt = $this->db->prepare($sql);
$stmt->bindParam(1, $name, PDO::PARAM_STR);
$stmt->bindParam(2, $type, PDO::PARAM_STR);
$stmt->bindParam(3, $width, PDO::PARAM_INT);
$stmt->bindParam(4, $height, PDO::PARAM_INT);
$stmt->bindParam(5, file_get_contents($url), PDO::PARAM_LOB);
$stmt->bindParam(6, file_get_contents($thumburl), PDO::PARAM_LOB);
$stmt->bindParam(7, '0', PDO::PARAM_INT);
$stmt->execute();

但我收到错误:

  

消息:调用未定义的方法CI_DB_pdo_mysql_driver :: prepare()

在CodeIgniter 3.0中是否还有其他方法可以使用PDO插入blob?其他一切似乎与数据库助手一起正常工作。

1 个答案:

答案 0 :(得分:3)

找到它。正如hjpotter92所说,$ this-> db实际上不是PDO对象。但是如果使用conn_id PDO指针,CodeIgniter会将函数传递给PDO。我换了:

$this->db->prepare($sql);

$this->db->conn_id->prepare($sql);

现在一切正常。