Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

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

mao-40

[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, à 11:49)


- 1. * Intel Core i7-8700K 3.7GHzx6 - 16Go - Nvidia GeForce GTX 1050 1Go - Ubuntu 24.10 64bits

Hors ligne

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

mao-40

Re : [Résolu] Afficher erreurs PDO

Résolu par :

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

- 1. * Intel Core i7-8700K 3.7GHzx6 - 16Go - Nvidia GeForce GTX 1050 1Go - Ubuntu 24.10 64bits

Hors ligne