2013-01-08 200 views
3

我使用PHP ODBC庫連接到一個MSSQL 2008服務器(http://php.net/manual/en/ref.uodbc.php)。如何測試空記錄

我的一些存儲過程不返回記錄集(例如,他們只是做了一個插入或更新)。我希望在這種情況下能夠妥善處理輸出。數據庫調用完成後,輸出被注入到數組中,並返回給應用程序進行處理。下面是代碼的關鍵部分(不包括錯誤處理等):

$sql_result = odbc_exec($connection, $sql); 
while ($row = odbc_fetch_array($sql_result)) { 
    $resultArray[$i] = $row; 
    $i++; 
} 

如果$sql_result已成功執行,但不包含一個記錄集(因爲它會跟隨插入或更新),那麼odbc_fetch_array觸發此警告:

警告:odbc_fetch_row():可在此結果指數

理想的無元組,我想測試$sql_result第一,看它是否包含一個空的錄音功d set,但是我嘗試過的每一個明顯的嘗試都會導致相同的警告消息。

任何人得到檢查,看看是否$sql_result是空的一種巧妙的方法?

回答

1

我不認爲這是使用PHP ODBC API的簡單方法。通常你會使用不同的函數來處理返回值的語句,比如SELECT,而不像UPDATE那樣。

如果這是運行任意報表,你可以分析語句的工具。

這不是一個空的結果集,這是沒有結果集的所有,你也許可以通過檢查結果在調試器,或使用的var_dump分辨。