#39820 [Com]: ORA-03131: an invalid buffer was provided for the next piece

From: Date: Mon, 01 Feb 2010 13:39:19 +0000
Subject: #39820 [Com]: ORA-03131: an invalid buffer was provided for the next piece
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-147104@lists.php.net to get a copy of this message
ID: 39820 Comment by: symphony dot group at yahoo dot com Reported By: alien at mosfasad dot ru Status: No Feedback Bug Type: PDO related Operating System: win xp PHP Version: 5.2.0 Assigned To: wez New Comment: This bug is still exists in both PHP versions (5.2.12 & 5.3.1) I've set up two test VMs and am quite willing to help get this working. the following simple code easily re-produces the bug: try { $dbConn = new PDO('oci:dbname=.....); $dbConn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = $dbConn->prepare(" BEGIN SELECT username INTO :chkId FROM USERS WHERE username = 'fred'; END; "); $sql->bindParam('chkId', $chkId); $sql->execute(); var_dump($chkId); } catch (Exception $e) { var_dump($e); } obviously I've censored our connection info. as the other user mentioned if I alter the bindParam to: $sql->bindParam('chkId', $chkId, PDO::PARAM_STR, 10); it works. however even missing off the variable length causes a error Previous Comments: ------------------------------------------------------------------------ [2009-05-03 01:00:02] php-bugs at lists dot php dot net No feedback was provided for this bug for over a week, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open". ------------------------------------------------------------------------ [2009-04-25 14:40:57] jani@php.net Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://windows.php.net/snapshots/ ------------------------------------------------------------------------ [2007-01-09 15:59:17] alien at mosfasad dot ru i can temporary resolve this problem by this code: $sSql = 'call ReportOrder( :out0, :var0 , :var1)'; $sOut = ' '; $sVar0 = null; $aArguments = Array ('var0' =>'asdasasdasd','var1' =>'3242424' ); $sDsn = 'oci:dbname=********'; $sUser = '***'; $sPass = '*******'; $aArgs = array(); $oPDOs = new PDO($sDsn,$sUser,$sPass,$aArgs); $oStat = $oPDOs->prepare( $sSql ); $oStat->bindParam('out0', $sOut, PDO::PARAM_STR,strlen( $sOut ) ); /* !!!!!! this CODE !!!!*/ $oStat->bindParam('var0',$sVar0 ); $oStat->bindParam('var1',$sVar0 ); /* !!!!!!********!!!!*/ $oStat->execute($aArguments); echo '['.$sOut.']'; ?> PLSQL PROC : CREATE OR REPLACE PROCEDURE ReportOrder ( dCalcId OUT VARCHAR2, dFormId VARCHAR2, dFormId1 VARCHAR2 ) IS BEGIN dCalcId := dFormId || dFormId1; END; ------------------------------------------------------------------------ [2007-01-09 15:10:15] alien at mosfasad dot ru !!! WRONG !!! : /* !!! IF COMMENT LINE BELOW, NO ERROR */ $oPDOs->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); /**/ if i comment this lines error i can look error, when i call method errorInfo( )! print_r( $oStat->errorInfo( ) ); ------------------------------------------------------------------------ [2006-12-25 12:12:48] alien at mosfasad dot ru $sSql = 'call ReportOrder(:var0,:out0,:var1,:var2,:var3)'; CREATE OR REPLACE PROCEDURE ReportOrder ( dFormId NUMBER, dCalcId OUT VARCHAR2, sUnionDescr VARCHAR2, sArgsName VARCHAR2, sColsName VARCHAR2 ) IS BEGIN dCalcId := '1'; END; ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/39820 -- Edit this bug report at http://bugs.php.net/?id=39820&edit=1

« previous php.bugs (#147104) next »