Accueil > Forum > > > > Avec PDO, impossible de récupérer des exceptions en connexion persistante
Avec PDO, impossible de récupérer des exceptions en connexion persistante
mardi 8 avril 2008 à 16:34:55 |
Avec PDO, impossible de récupérer des exceptions en connexion persistante

Nix6800
|
Bonjour. J'utilise PDO pour me connecter à ma BDD Oracle et j'aimerais utiliser des connections persistantes en faisant des envoies multiples (avec un "prepare"). Cela marche très bien mais... les exceptions ne semblent plus être attrapées par mon catch (que ce soit une erreur de syntaxe ou une erreur de type de données le script crash au lieu d'afficher l'erreur). Mon code est le suivant. [ Lien ]try { $dbh = new PDO("oci:dbname=//localhost/XE", 'TEST', 'TEST', array(PDO::ATTR_PERSISTENT => true)); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $dbh->beginTransaction(); $stmt = $dbh->prepare("INSERTT INTO membres (id, pseudo) VALUES (?, ?)"); $stmt->bindParam(1, $id); $stmt->bindParam(2, $pseudo); // insertion d'une ligne $id = ''; $pseudo = 'Jack'; $stmt->execute(); // insertion d'une autre ligne avec des valeurs différentes $id = ''; $pseudo = 'Marchal'; $stmt->execute(); $dbh->commit(); } catch (Exception $e) { $dbh->rollBack(); echo "Échec : " . $e->getMessage(); } Merci d'avance pour votre aide !
|
|
mardi 8 avril 2008 à 19:19:43 |
Re : Avec PDO, impossible de récupérer des exceptions en connexion persistante

malalam
|
Hello,
execute() ou prepare() renvoient false en cas d'échec. Donc : if(false === $stmt->execute()) { throw new Exception('erreur dans l\'exécution de la requête préparée'); } par exemple.
|
|
mardi 8 avril 2008 à 19:52:27 |
Re : Avec PDO, impossible de récupérer des exceptions en connexion persistante

Nix6800
|
Merci pour ta réponse, mais il semble que cela ne fonctionne pas. J'ai mit
<?php echo 'test'; try { $dbh = new PDO("oci:dbname=//localhost/XE", 'TEST', 'TEST', array(PDO::ATTR_PERSISTENT => true)); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->beginTransaction(); if($stmt = $dbh->prepare("INSERT INTO membres (id, pseudo) VALUES (?, ?)")) { $stmt->bindParam(1, $id); $stmt->bindParam(2, $pseudo);
// insertion d'une ligne $id = ''; $pseudo = 'Jack'; $stmt->execute();
// insertion d'une autre ligne avec des valeurs différentes $id = ''; $pseudo = 'Marchal'; $stmt->execute();
$dbh->commit();
} else{ throw new Exception('erreur dans l\'exécution de la requête préparée');} } catch (Exception $e) { $dbh->rollBack(); echo "Échec : " . $e->getMessage(); } ?>
Ca crashe de la même manière, même le "echo'test';" ne fonctionne pas quand je met une requète erronée.
|
|
mardi 8 avril 2008 à 20:01:22 |
Re : Avec PDO, impossible de récupérer des exceptions en connexion persistante

malalam
|
C'est quoi ce else ?? Ce n'est pas ce que je t'ai dit de faire.
try { if(false === ($stmt = $dbh->prepare("INSERT INTO membres (id, pseudo) VALUES (?, ?)")))) { throw new Exception('erreur dans l\'exécution de la requête préparée'); } // bla bla if(false === $stmt->execute()) { throw new Exception('erreur dans l\'exécution de la requête préparée'); } // bla bla } catch(Exception $e) { // bla bla }
|
|
mardi 8 avril 2008 à 22:09:46 |
Re : Avec PDO, impossible de récupérer des exceptions en connexion persistante

Nix6800
|
Pardon, j'ai mal inteprété.
J'ai tapé ça :
try { $dbh = new PDO("oci:dbname=//localhost/XE", 'TEST', 'TEST', array(PDO::ATTR_PERSISTENT => true)); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$dbh->beginTransaction(); if(false === ($stmt = $dbh->prepare("INSERTT INTO membres (id, pseudo) VALUES (?, ?)"))) { throw new Exception('erreur dans l\'exécution de la requête préparée'); } $stmt->bindParam(1, $id); $stmt->bindParam(2, $pseudo);
// insertion d'une ligne $id = ''; $pseudo = 'Jack'; if(false === $stmt->execute()) { throw new Exception('erreur dans l\'exécution de la requête préparée'); }
// insertion d'une autre ligne avec des valeurs différentes $id = ''; $pseudo = 'Marchal'; if(false === $stmt->execute()) { throw new Exception('erreur dans l\'exécution de la requête préparée'); }
$dbh->commit();
} catch (Exception $e) { $dbh->rollBack(); echo "Échec : " . $e->getMessage(); }
Mais j'obtient toujours le même résultat.
|
|
mardi 8 avril 2008 à 22:42:14 |
Re : Avec PDO, impossible de récupérer des exceptions en connexion persistante

malalam
|
Il plante où ton script, dans quel cas ?
|
|
mercredi 9 avril 2008 à 09:06:08 |
Re : Avec PDO, impossible de récupérer des exceptions en connexion persistante

Nix6800
|
Si j'enlève le second T à INSERT il fonctionne très bien. Mais dès que je le rajoute (une erreur donc) ça me fait crasher apache.
|
|
lundi 2 juin 2008 à 14:18:58 |
Re : Avec PDO, impossible de récupérer des exceptions en connexion persistante

Nix6800
|
Quelqu'un aurait il une nouvelle idée ?
|
|
Cette discussion est classée dans : id, pseudo, stmt, pdo, dbh
Répondre à ce message
Sujets en rapport avec ce message
id_result ne renvoi rien!! [ par thongthephu ]
bijour:Voila dans le code si dessous $id_result ne renvoi rien pourtant tou marche(db ...)session_start(); if($_GET['action'] == 'login') { $pseudo =
oh misére o desespoir , bleme de requette [ par CCJ ]
bonjour alors que j'etait sur le point de finir le forum sur mon site , un bleme aparut. voici mon code: session_start(); if(isset($_SESSION['Pseudo'
comment faire un UPDATE à l'aide de table lier? [ par DoudouBidou ]
vala je voudrais mettre à jour une table afin de récupérer les id contenu dans une autre je m'explique :je voudrais faire un truc du genre :UPDATE [ta
Besoin d'aide pour les Cookies .... SVP :'( [ par Astalavista ]
Alors, j'ai un site en PHP ou il y a une partie mebre. pour securiser un num. ID et le pseudo sont enregistrer dans un cookies de la forme :S
determiner un id de session [ par biloutte33 ]
bonjour voici mon code pour ma le login d'un membre: mysql_select_db("informaticman"); if(!mysql_connect) {echo "Connexion impossible à la b
Gros proplème de mon forum une boucle!!! [ par ybouane ]
salutj'ai un très gros problème dans mon forum ben c'est tres dure a expliquer mais j'essaye.Ben voila j'ai fait une page qui affiche les message ou l
Ajouter une méthode à PDO [ par Evangun ]
Hello,je me pose une question simple : est-ce qu'on peut ajouter une méthode à une classe "native" comme PDO ? Je n'ai pas trouvé d'info là-dessus. Je
procedure stockée avec parametre en sortie avec PDO/MySQL [ par poland_power ]
Hello m'sieurs dames, en esperant que l'un de vous puisse m'aider, je vous expose mon soucis. j'ai une procédure stockée nommée avec un parametre de
pb pour un id de session [ par biloutte33 ]
bonjour, voilà j'aimerais savoir comment retourner l'id attribuer à mon membre qui viens de s'enregistrer dans sa connexion?voici ma page enregistre.p
probleme requete d'insertion [ par titigrou ]
kikou!!j'ai un problème avec une requete d'insertion que voici: $requete = "INSERT INTO reserver VALUES ('".$reqpseudo['pseudo']."','".$_POST['voiture
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
XML ET PHPXML ET PHP par karouani
Cliquez pour lire la suite par karouani
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|