0

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 に設定すると、ブラウザーが毎回クラッシュするため、結果が表示されません。

なにか提案を?

ありがとう

4

0 に答える 0