Page 1 sur 1

MySQL traitement des erreurs

Posté : 28 août 2007, 13:32
par dunbar
Bonjour,

Je voudrais créer une gestion des erreurs MySQL mais cela ne fonctionne pas et je ne comprend pas pourquoi :
$mysql_error = array(
                     $localhost          => 'Mauvais Server',
                     $mysql_user         => 'Mauvais login',
                     $mysql_password     => 'Mauvais pass'

                      ) ;
                     echo"<pre>";
                     print_r($mysql_error);
                     echo"</pre>";

          $link = mysql_connect($localhost, $mysql_user, $mysql_password);

          if (!mysql_select_db("testvideo", $link)) {
          $result=mysql_connect($link) or die($mysql_error);

         }
Je me retrouve avec le message d'erreur classique MySQL et il ne prend pas en compte mon tableau il me dit simplement array en plus du message :?:
Moi je voudrais que par exemple pour un mauvais login qu'il ne m'indique que "Mauvais login" et rien d'autre cela est t'il possible ?

Posté : 28 août 2007, 14:41
par Ryle
Bah c'est un peu normal... dans le or die() tu indiques le nom d'un tableau et lui se contente d'en faire un echo.. résultat, echo d'un tableau, ça fait Array. Je vois pas trop ce à quoi tu t'attendais avec ce code... la fonction de connexion retourne FALSE en cas d'erreur et n'indique nullement la nature de l'erreur.

Pour cela il te faut faire appel à mysql_error() pour connaitre la nature de l'erreur, parser la chaine pour identifier de quoi il peut s'agir et retourner le message d'erreur de ton cru associé. (et je ne suis pas certains que l'on puisse savoir s'il s'agit d'une erreur de login ou de mot de passe, mais j'ai pas les messages d'erreur en tête)

Posté : 28 août 2007, 16:15
par Invité
Bah c'est un peu normal... dans le or die() tu indiques le nom d'un tableau et lui se contente d'en faire un echo.. résultat, echo d'un tableau, ça fait Array. Je vois pas trop ce à quoi tu t'attendais avec ce code... la fonction de connexion retourne FALSE en cas d'erreur et n'indique nullement la nature de l'erreur.

Pour cela il te faut faire appel à mysql_error() pour connaitre la nature de l'erreur, parser la chaine pour identifier de quoi il peut s'agir et retourner le message d'erreur de ton cru associé. (et je ne suis pas certains que l'on puisse savoir s'il s'agit d'une erreur de login ou de mot de passe, mais j'ai pas les messages d'erreur en tête)


:boire4: Merci je retourne étudié .