MySQL traitement des erreurs

ViPHP
ViPHP | 2291 Messages

28 août 2007, 13:32

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 ?
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

28 août 2007, 14:41

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)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Invité
Invité n'ayant pas de compte PHPfrance

28 août 2007, 16:15

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é .