我嘗試使用第一個評論中的建議,但實際上並沒有像我預期的那樣工作... 我想獲取所有數據,無論它有多大,但發生了奇怪的事情,我終於找到了這個解決方案(至少適用於 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] 執行: '.$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();
?>