[PHP-users 23643] odbc_binmodeの使い方

Satto satoru_kumagai @ mjs.co.jp
2004年 11月 16日 (火) 14:58:33 JST


先程の"bin2hexとpackについて"では,ありがとうございました.

無事,バイナリデータの登録ができました.

DBに登録したデータをダウンロードさせる仕組みで,ひとつ
分からない点がありますのでご教授ください.

<?php
$str = "select * from test where id = 1";
$conn = odbc_connect("testodbc","sa","pw");
$rs = odbc_exec($conn,$str);
odbc_longreadlen($rs,0);
$fn = odbc_result($rs,'file_name');
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename={$fn}");

$img = odbc_result($rs,'img');
//echo odbc_binmode($img,ODBC_BINMODE_RETURN);
echo $img;
odbc_close($conn);
?>

で,処理を行っているのですが,ぱっと見,問題なくダウンロード
できているように見えるのですが,よく見てみると,開いたファイルの
最後に,1 や FALSEのような文字が表示されています.

echo odbc_binmode($img,ODBC_BINMODE_RETURN);
をコメントせずに実行すると,テキストデータの最後に
<b>Warning</b>:  odbc_binmode(): supplied argument is not a valid 
ODBC result resource in <b>〜.php</b> on line <b>11</b><br />
というエラーがついて表示されます.

どういった意味のエラーなのでしょうか.
何が原因で1 や FALSEのような文字が混入してしまうのでしょうか.

ご教授お願いします.
php4.3.9
Win2000SV
Apache 1.3.26
DB -> MS SQLServer7.0



PHP-users メーリングリストの案内