我尝试过使用第一个评论中的建议,但它并没有按预期工作……我想获取所有数据,无论大小,但发生了一些奇怪的事情,我最终找到了这个解决方案(至少对于 MS SQL 2000 来说效果很好,至少对于几 MB 的二进制数据来说是如此)
<?php
$link = odbc_connect($odbc_source_name, $user, $pass);
$sql = 'SELECT image_data_column FROM some_table WHERE record_id=1';
$result = odbc_exec ($link, $sql)
if (!$result)
{
trigger_error ('[sql] exec: '.$sql, E_USER_ERROR);
}
odbc_binmode ($result, ODBC_BINMODE_PASSTHRU);
odbc_longreadlen ($result, 0);
ob_start(); while (odbc_fetch_row($result))
{
odbc_result($result, 1); }
odbc_free_result($result);
$contents = ob_get_clean();
?>