я хранить данные больших двоичных объектов с PHP как этотОшибка чтения двоичных объектов данных из SQLite
$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++ (с использованием фреймворка Бада) я читать данные из столбца больших двоичных объектов обратно. Проблема в том, что когда я использую php на своем localhost (версия 5.3.2-1ubuntu4.2), мое приложение C++ может распознать столбец blob как тип blob правильно. Но когда я использую мой удаленный хост (php version 5.2.12) для создания файла sqlite, мое приложение C++ распознает столбец blob как TEXT TYPE, а мои двоичные данные повреждены.
Кто-нибудь знает, почему и любая работа вокруг?
Благодаря
Учитывая, что в миксе есть PHP 5.2 и 5.3, скорее всего, это связано с различием в библиотеке sqlite. Вероятно, ошибка, которая была исправлена к тому времени, когда была установлена ваша установка Ubuntu. –
Я тоже так думаю. Но проблема в том, что я не могу обновить sqlite на моем общем хостинге. Я надеюсь, что есть решение для старой версии. – Peacemoon