2
我正在使用此代碼從excel中的sql server查詢下載結果。 連接&查詢工作正常,我已經正確安裝sqlsrv擴展。 不過還是我收到錯誤,如這些PHP-與SQLSRV_FETCH_ASSOC&sqlsrv_fetch_array錯誤
「未定義的常量SQLSRV_FETCH_ASSOC的使用 - 假設 SQLSRV_FETCH_ASSOC'」
「警告:sqlsrv_fetch_array()預計參數2要長」
我認爲問題在於SQLSRV_FETCH_ASSOC
。 任何幫助,將不勝感激。
function cleanData(&$str)
{
$str = preg_replace("/\t/", "\\t", $str);
$str = preg_replace("/\r?\n/", "\\n", $str);
if(strstr($str, '"')) $str = '"' . str_replace('"', '""', $str) . '"';
}
$serverName = "********";
$connectionInfo = array("Database"=>"****", "UID"=>"***", "PWD"=>"*****");
$connect = sqlsrv_connect($serverName, $connectionInfo);
// filename for download
$filename = "website_data_" . date('Ymd') . ".xls";
header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Type: application/vnd.ms-excel");
$flag = false;
$query="select * from business_partners ORDER BY 1 desc";
$result = sqlsrv_query($connect, $query) or die('A error occured: ' . sqlsrv_errors());
while(false !== ($row = sqlsrv_fetch_array($result,SQLSRV_FETCH_ASSOC)))
{
if(!$flag) {
// display field/column names as first row
echo implode("\t", array_keys($row)) . "\r\n";
$flag = true;
}**strong text**
array_walk($row, 'cleanData');
echo implode("\t", array_values($row)) . "\r\n";
}
exit;
我試過 while(false!==($ row = sqlsrv_fetch_array($ result,SQLSRV_FETCH_NUMERIC)))它的工作..但我不需要數值。 擴展我正在使用php_sqlsrv_55_ts.dll。 –
你有沒有得到相同的'未定義的常量'的消息? –
沒有。我不知道最新的SQLSRV_FETCH_ASSOC問題 –