Bonjour,
Je débute en PHP et je suis bloqué sur le point suivant.
J'ai installé WampServer v2.0h sous windows (mysql5.1.33, php5.2.9-2). J'ai également installé Eclipse et Xdebug. J'espère que ces éléments de contexte sont suffisants.
Je constate que les exceptions ne sont plus levées dès que j'utilise les connexions persistantes. Cela plante mon script.
Le script suivant reproduit le problème.
<?php
/*
CREATE DATABASE Essai;
USE Essai;
CREATE TABLE Essai (
Id int NOT NULL,
PRIMARY KEY (Id)
);
*/
try
{
for($i = 0; $i < 2; $i++)
{
$Parms1=array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_PERSISTENT => true);
$Parms2=array(':id' => 1);
try
{
$CnxPDO= new PDO('mysql:host=localhost;dbname=Essai', 'root', '', $Parms1);
if (($Insert = $CnxPDO->prepare('insert into Essai(Id) VALUES(:id)')) != false)
{
var_dump($CnxPDO, $Insert);
$Insert->execute($Parms2);
}
}
catch (Exception $E)
{
error_log($E->getMessage());
}
}
}
catch (Exception $E)
{
error_log($E->getMessage());
}
?>
A la première exécution, ce script plante dès la première exception. A la seconde exécution (les id sont déjà en table), il plante sur la seconde exécution.
Sans ATTR_PERSISTENT tout fonctionne normalement.
Merci d'avance pour toutes réponses.