ID: 39707 User updated by: aspen dot olmsted at alliance dot biz Reported By: aspen dot olmsted at alliance dot biz Status: Open Bug Type: PDO related Operating System: Windows XP SP2 PHP Version: 5.2.0 New Comment:
The line that says: $sth = $dbh->prepare("EXECUTE spReturn_Int ?"); should be: $sth = $dbh->prepare("EXECUTE spReturn_Int ?,?"); Sorry when I simplified the example I made this mistake Previous Comments: ------------------------------------------------------------------------ [2006-12-01 18:00:40] aspen dot olmsted at alliance dot biz Description: ------------ I am trying to pass output parameters to MSSQL through PDO using the odbc driver. If there is just one parameter it works. If there is more than one it will not. There is a sample to send an inout parameter to SQL on the pdo documentation page I used as a starting place Reproduce code: --------------- SQL: ALTER PROCEDURE spReturn_Int @err int OUTPUT, @err2 varchar(255) AS SET @err = 11 $sth = $dbh->prepare("EXECUTE spReturn_Int ?"); $invalue = 'Dog'; $sth->bindParam(1, $return_value, PDO::PARAM_INT|PDO::PARAM_INPUT_OUTPUT); $sth->bindParam(2, $invalue, PDO::PARAM_STR); $sth->execute(); print "procedure returned $return_value\n"; Expected result: ---------------- It should print "procedure returned 11" Actual result: -------------- It prints "procedure returned ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=39707&edit=1