#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