2011-01-24 48 views
1

我越來越想使用SQLSRV驅動程序從PHP執行存儲過程時出現以下錯誤時:直接執行SQL;在PHP中沒有遊標調用存儲過程

Executing SQL directly; no cursor 
+1

作爲第一步,我總是建議使用谷歌搜索錯誤。通常你不是第一個遇到問題的人。嘗試谷歌搜索「PHP sqlsrv直接執行SQL;沒有光標」 – 2011-01-24 01:30:21

+1

@PhpMyCoder和谷歌帶我到這裏 – 2012-11-19 08:44:20

回答

3

我得到了同樣的錯誤,當我使用的代碼,基本上這樣做:

$options = array("Scrollable"=>SQLSRV_CURSOR_STATIC); 
$sql = "exec dbs_webgetnextcount 'expense'"; 
sqlsrv_query($db,$sql,null,$options); 

我通過不設置光標來修復它。

$sql = "exec dbs_webgetnextcount 'expense'"; 
sqlsrv_query($db,$sql); 

PS。我在我的select語句中做了CURSOR_STATIC選項,因此sqlsrv_num_rows()會給出正確的數字。

3

我有同樣的問題,因爲喬恩但我想,因爲它僅僅是由SQL數據訪問組件和查詢仍然產生警告成功完成,你可以使用sqlsrv_configure("WarningsReturnAsErrors", 0);

2

添加光標sqlsrv.exe禁用選擇您的連接:

$connection = odbc_connect('host','username','password', 1) 
      or die('Connection failed!'); 

密碼插入cursor_option <之後 - 這個選項不見了。