Page 1 sur 1

Plantage script avec connexion persistante

Posté : 19 juin 2009, 11:37
par HEP44
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.

Posté : 19 juin 2009, 15:56
par Nagol
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 :)

Posté : 21 juin 2009, 09:33
par HEP44
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.

Posté : 22 juin 2009, 21:43
par Nagol
okay, je vais faire ça

Posté : 22 juin 2009, 21:45
par momox
Les connexion persistantes sont elles autorisées déjà ?

Posté : 22 juin 2009, 21:49
par Nagol
ca marche niquel, sachant que je suis sous linux, ca répond peut-être à ton problème