читать BLOB из MySQL с помощью php PDO - PullRequest
2 голосов
/ 19 января 2012

У меня есть база данных с полем BLOB (weeklyOccupancy).Я пытаюсь получить доступ к данным в PHP, используя:

$sqlCmd = 'select weeklyOccupancy from Occupancy order by startDate;';
$pdoStmt = $dbh->query($sqlCmd);
$pdoStmt->bindColumn(1, $lob, PDO::PARAM_LOB);
$pdoStmt->fetch(PDO::FETCH_BOUND);
foreach($pdoStmt as $row){
    $weeklyData = stream_get_contents($lob); 
    ....
}

Тем не менее, stream_get_contents говорит, что $ lob является строкой (с именем «Resource id # 1), хотя я считаю, что это должен быть поток.это упоминается как ошибка (http://www.php.net/manual/en/pdo.lobs.php#96311), но обходной путь не подходит для моего приложения - в котором большой двоичный объект содержит битовую строку, а не изображение для отображения.

Любые идеи, как получить данные изполе blob в PHP? Спасибо

Ответы [ 2 ]

0 голосов
/ 19 января 2012

К сожалению.В моем коде была более ранняя ошибка.Проблема исчезла.

0 голосов
/ 19 января 2012

Не все драйверы PDO возвращают большой объект как поток файлов; MySQL 5 является одним из примеров. Вы можете попробовать обработать lob как строку после привязки.

...