db400 テーブルの blob フィールドに保存されたいくつかの画像を取得する必要があります。私はPHP ODBCライブラリを試しています。これはサンプルコードです:
//connect to database
if(!$conn = odbc_connect($DNS, $user, $password)){
exit("Error");
}
$sql = "SELECT TSMIME, TSIMG
FROM SVMAGDAT.DFW3S00F
WHERE TSIDMO=17 and TSPRMO=0";
$result = odbc_exec($conn, $sql);
$type=$lob="";
if ($result) {
odbc_longreadlen($result, 5242880);//5MB
odbc_binmode($result,ODBC_BINMODE_CONVERT);
$type = odbc_result($result, "TSMIME");
$lob = odbc_result($result, "TSIMG");
}
echo "<img src=\"data:$type;base64,$lob\" >";
画像はbase64エンコードで保存され、彼のクエリでは1行しか取得できません。odbc_longreadlen と odbc_binmode を変更しようとしましたが、結果はありません。
この構成では、$lob 変数は空白ですが、$type は正しく設定されています。
odbc_binmode を ODBC_BINMODE_PASSTHRU に設定すると、ブラウザーが毎回クラッシュするため、結果が表示されません。
なにか提案を?
ありがとう