私はこのようなphpでブロブデータを保存します
$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 として認識し、バイナリ データが破損します。
誰かが理由と回避策を知っていますか?
ありがとう