Erreur "could not find driver"
Cette erreur surviens si vous avez mal renseigné le moteur de base de données dans la DNS ou si le drivers choisi n'est pas supporté par votre serveur. Dans le cas du drivers MySQL, il est généralement actif par défaut sur la majorité des hébergements (et biensur activé par défaut sur W/Mamp).Erreur "Unknown MySQL server host"
Cette erreur surviens quand le nom du serveur est mal renseigné / indisponible (MySQL dans notre cas). Chez certains "gros" hébergeurs, le nom du serveur beb n'est généralement paslocalhost
.Erreur "Can't connect to MySQL server"
Dans le cadres des accès distants (le serveur MySQL n'est pas sur la même machine que le serveur Web), Vous obtiendrez ce message si le serveur est planté / indisponible, ou si le serveur auquel vous tenter d'accéder n'est pas un serveur de données MySQL.
Le message d'erreur appraît généralement après un certains temps (assez
long) de chargement, vous verrez que la page "mouline" dans le vide. Il
peut arrivé que votre serveur web lance un timeout avant que cette
erreur ne survienne (votre page attend la réponse du serveur de données,
mais ce dernier a mis trop de temps à répondre, du coup votre page se
crash).
Erreur "Unknown database <db_name>"
Là le nom de la base de données est incorrect, ou plus grave, la base de données n'existe plus...Erreur "Access denied for user"
Un grand classique, vous n'avez pas le droit d'accéder au serveur. Soit votre identifiant, soit votre mot de passe, soit les deux sont mal renseignés.Intercepter les erreurs de connection avec un try { catch }
Le bloc try / catch est très pratique pour intercepter ce type d'erreur (on appelle ce genre d'erreur des Exception) :
1
2
3
4
5
6
7
8
9
10
| // Connection au serveur try { $dns = 'mysql:host=localhost;dbname=formation' ; $utilisateur = 'db_rider' ; $motDePasse = 'azerty' ; $connection = new PDO( $dns , $utilisateur , $motDePasse ); } catch ( Exception $e ) { echo "Connection à MySQL impossible : " , $e ->getMessage(); die (); } |
La fonction
Il est fortement recommandé de se créer un fichier php (par exemple
connection.php) contenant ces quelques lignes. En effet, si l'une de vos
pages necessite alors un accès à la base de données, il vous suffira
d'inclure ce fichier avec die()
porte bien son nom, elle va tuer le script PHP (toutes les lignes situées après le die ne seront jamais executées).require_once
.
1
| require_once ( 'conf/connection.php' ); |
Aucun commentaire:
Enregistrer un commentaire