Contenu | Rechercher | Menus

Annonce

Le forum rencontre en ce moment quelques soucis de charge, il est possible qu'une erreur soit affichée quand vous postez un message, ne rechargez pas la page au risque de poster une seconde fois votre message

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".

#1 Le 31/01/2013, à 20:19

[Résolu] Afficher erreurs PDO

Bonsoir,

Je cherche à afficher proprement les erreurs PDO sur mes différents sites. J'étais habitué à écrire :

$req = $bdd->prepare('
SELECT `série de champs`
FROM `table`
');
$req = $bdd->execute() or die(print_r($bdd->errorInfo()));

Je lis un peu partout que le or die, même s'il est rentré dans les moeurs n'est pas une bonne façon de faire et qu'il vaut mieux utiliser :

try {
$options = array(
	PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
	PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
	);
$bdd = new PDO('mysql:host=localhost;dbname=****', '*****', '*******', $options);
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
}
catch (PDOException $e) {
   echo 'Error : ' . $e->getMessage();
   die();
}
$req = $bdd->prepare('
SELECT `série de champs`
FROM `table`
');
$req = $bdd->execute() ;

Donc en utilisant : PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION suivi du catch...

Mais cela ne m'affiche rien contrairement à la 1° méthode.
Je ne sais pas s'il faut modifier le php.ini ou autre pour cela.

Merci pour votre aide

Dernière modification par mao-40 (Le 01/02/2013, à 12:49)


- HP Quad Core Q9300 2,5GHz - 6Go - Nvidia GeForce GT 610 1Go - Ubuntu 11.10 64 (Gnome-Shell malheureusement)
- Asus X5DAF - ATI 512Mo  - Ubuntu 12.04 AMD-64

Hors ligne

#2 Le 01/02/2013, à 12:49

Re : [Résolu] Afficher erreurs PDO

Résolu par :

try {
$req = $bdd->execute() ;
}
catch (PDOException $e) {
   echo 'Error : ' . $e->getMessage();
   die();
}

- HP Quad Core Q9300 2,5GHz - 6Go - Nvidia GeForce GT 610 1Go - Ubuntu 11.10 64 (Gnome-Shell malheureusement)
- Asus X5DAF - ATI 512Mo  - Ubuntu 12.04 AMD-64

Hors ligne

Haut de page ↑