我像这样用php存储blob数据
$this->_db->exec"CREATE TABLE media (url TEXT, content BLOB)");
$fp = fopen($encoded['path'], 'rb');
$sql = "INSERT INTO media (url, content) VALUES (?, ?)";
$stmt = $this->_db->prepare($sql);
$stmt->bindValue(1, $encoded['url'], PDO::PARAM_STR);
$stmt->bindValue(2, $fp, PDO::PARAM_LOB);
$stmt->execute();
fclose($fp);
在我的 c++ 程序(使用 bada 框架)中,我从 blob 列中读取数据。问题是,当我在本地主机(版本 5.3.2-1ubuntu4.2)上使用 php 时,我的 c++ 应用程序可以正确地将 blob 列识别为 blob 类型。但是当我使用我的远程主机(php 版本 5.2.12)创建 sqlite 文件时,我的 c++ 应用程序将 blob 列识别为 TEXT TYPE,并且我的二进制数据已损坏。
有谁知道为什么以及任何解决方法?
谢谢