ID: 46289 Updated by: [EMAIL PROTECTED] Reported By: asylow at free dot fr -Status: Open +Status: Feedback Bug Type: PDO related Operating System: Windows XP SP3 PHP Version: 5.2.6 New Comment:
Please try using this CVS snapshot: http://snaps.php.net/php5.2-latest.tar.gz For Windows: http://windows.php.net/snapshots/ Previous Comments: ------------------------------------------------------------------------ [2008-10-14 09:39:38] asylow at free dot fr Description: ------------ Hi, I get an apache crash when executing the "execute" on a prepared query. "L'instruction à "0x0096ac76" emploie l'adresse mémoire "0X07a0a410". La mémoire ne peut pas être "read" PHP 5.2.6 Apache 2.2.9 The problem also happened using Aug 06, 2008 04:30 UTC Snapshot. Reproduce code: --------------- The minimal code that causes the crash is : <?php class myclass { function __construct() { $this->db = new PDO ("mssql:host=localhost\SQLEXPRESS;dbname=test","sa","toto"); } function foo() { $sql = 'SELECT oidObject FROM otIncidentspec WHERE oidObject=:ndossier AND oidArticle=277247835'; $sth_activiteincident = $this->db->prepare($sql); $extract[] = array("abc"=>29); $extract[] = array("def"=>20); $sth_activiteincident->execute(array(':ndossier'=>277248289)); $sth_activiteincident->execute(array(':ndossier'=>277248290)); } } $erp = new myclass(); $erp->foo(); ?> Actual result: -------------- Strangely minimal changes to the code avoids the problem. ie : removing the $extract[] definitions OR removing "AND oidArticle=277247835" in the query OR defining $this->db in the foo function instead of in the __construct. I made a backtrace : PHP5TS! 0096ac76() PHP5TS! 0096bd79() php_pdo_stmt_delref(_pdo_stmt_t * 0x064621c8, void * * * 0x01e67d18) line 2426 + 13 bytes pdo_dbstmt_free_storage(_pdo_stmt_t * 0x064621c8, void * * * 0x01e67d18) line 2432 + 13 bytes PHP5TS! 00a0cb9f() PHP5TS! 00a0ca59() Thank you. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=46289&edit=1