Plantage script avec connexion persistante

Petit nouveau ! | 2 Messages

19 juin 2009, 11:37

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.

ViPHP
ViPHP | 3300 Messages

19 juin 2009, 15:56

faudrait que je me teste pdo un jour quand meme, je t'avouerais que je n'ai aucune idée de la résolution de ton probleme du coup :)
Fait du php depuis que ca existe ou presque :)

Petit nouveau ! | 2 Messages

21 juin 2009, 09:33

Ok. C'est l'occasion donc.
Tu peux tester le script que j'ai posté et me dire si tu rencontres les mêmes plantages ? Il semble que cela ne plante que sous Windows.

ViPHP
ViPHP | 3300 Messages

22 juin 2009, 21:43

okay, je vais faire ça
Fait du php depuis que ca existe ou presque :)

Mammouth du PHP | 1511 Messages

22 juin 2009, 21:45

Les connexion persistantes sont elles autorisées déjà ?

ViPHP
ViPHP | 3300 Messages

22 juin 2009, 21:49

ca marche niquel, sachant que je suis sous linux, ca répond peut-être à ton problème
Fait du php depuis que ca existe ou presque :)