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