too long

I'm getting the following error when trying to execute a stored procedure from PHP using sqlsrv driver:

Executing SQL directly; no cursor

I got the same error when I used code that basically did this:

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

I fixed it by not setting the cursor.

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

PS. I was doing the CURSOR_STATIC option on my select statements so that sqlsrv_num_rows() would give a correct number.

I had the same problem as Jon but I figured since it is just a warning generated by the sql data access component and the query still completes successfully you can disable it in sqlsrv.exe using sqlsrv_configure("WarningsReturnAsErrors", 0);

Add a cursor option to your connection:

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

After password insert cursor_option 1 <-- this option was missing.