一直在Google上尋找此內容,但仍在尋找。無法打開任何東西。PHP中的ODBC錯誤:「此結果索引中沒有可用的元組」
使用PHP通過ODBC查詢MS SQL Server。代碼如下:(我已經澆灌下來到裸機,因爲我已經嘗試調試此)
$SQL=<<<HEREDOC
DECLARE @weekStart SMALLDATETIME;
SET @weekStart = DATEADD(d,0, DATEDIFF(d,0,GETDATE()));
SET @weekStart = DATEADD(d, 1-DATEPART(dw, GETDATE()), @weekStart);
SELECT
DATEDIFF(week, Run_Date, @weekStart)
AS weeksAgo
,MIN(Current_List) AS list
,COUNT(*) AS cnt
,SUM(NoContact_90Days) AS noContact90
,SUM(NoContact_180Days) AS noContact180
,SUM(NoMtg_180Days) AS noMtg180
,SUM(NoMtg_360Days) AS noMtg360
FROM
[someDB].[DBO].[someTable]
WHERE
Current_List<>''
GROUP BY
DATEDIFF(week, Run_Date, @weekStart)
,Current_List
ORDER BY DATEDIFF(week, Run_Date, @weekStart)
;
HEREDOC;
$dbUser = "someUser";
$dbPass = "somePw";
$connStr = 'Driver={SQL Server};Server=someServer;';
$conn = odbc_connect($connStr, $dbUser, $dbPass)
or die("Cannot start ODBC connection");
$rs = odbc_exec($conn, $SQL);
$r = odbc_fetch_array($rs);
die('ok');
獲得我從來沒有見過的odbc_fetch_array警告()行:
Message: odbc_fetch_array() [function.odbc-fetch-array]: No tuples available at this result index
我已經在SQL Server Mgmt Studio中運行查詢,並且它返回一組記錄。我使用這個連接字符串&方法檢索應用程序的其他部分中的行沒有問題。有任何想法嗎?
「它返回_a單set_記錄」 - 我認爲這是值得在你的PHP腳本測試,尤其是因爲它很容易'while(odbc_next_result($ rs))echo'#';' – VolkerK 2010-08-26 22:54:05
謝謝,VolkerK 。當我進入我的辦公室時,我會明天嘗試一下。 – loneboat 2010-08-27 02:29:57
@VolerK:啊!它正在返回_two_結果。謝謝你的提示。任何想法爲什麼?這是一個簡單的問題,我想。也許是因爲它不只是一個單一的陳述?再次感謝! – loneboat 2010-08-27 12:59:18