Connexion à une base Mysql

Rechercher

Connexion à une base Mysql

Par vcoquelet  -  3 reponses  -  Le 17/03/2008 23:46  -  Editer  - 

Bonjour,

j'ai utilisé la fonction ci-dessous, pour tester la connexion à une base Mysql, mais j'ai un message d'erreur sur l'utilisation de header au sein de la fonction mis dans un include.

function test_connect($serveur , $login , $pwd) { ob_start(); if (!mysql_connect($serveur,$login,$pwd)): ob_end_clean(); header("localhost: messages/message_echec_connexion.php"); exit; endif;

Warning: Cannot modify header information - headers already sent by (output started at D:\Soft\wamp\www\script.php:5) in chemin de l'include.

Est-ce la bonne méthode ou vaut-il mieux tester par code retour la connexion dans le code principal ?

Merci d'avance.

Cordialement Vincent.

 

Réponses apportées à cette discussion

Par Emacs  -  Le 18/03/2008 08:42  -  Haut de page  - 

Salut,

Tu peux tout simplement faire comme cela :

<?php
  $connexion = mysql_connect($host, $login, $password);
  if(!$connexion) {
    trigger_error('Connexion impossible sur le serveur de bases de données');
    exit;
  }
  if(!mysql_select_db($base, $connexion) {
    trigger_error('Connexion sur la base de données impossible');
    exit;
  }
?>

++

 
Par vcoquelet  -  Le 21/03/2008 00:36  -  Haut de page  - 

Bonsoir,

je pense que c'est la meilleure solution. Si j'ai un peu de temps je regarderai les solutions type "objet".

Merci pour le message.

Cordialement Vincent.

 
Par Emacs  -  Le 21/03/2008 09:10  -  Haut de page  - 

Bonjour,

Ce n'est pas forcément LA meilleure ni l'ultime solution pour ce genre de situtation mais ce code a le mérite de tester la valeur de retour des fonctions mysql_*() et d'arrêter le déroulement u programme à la moindre erreur qui survient. Une autre manière de procéder serait par exemple de logguer l'erreur de connexion dans un fichier de logs et d'utiliser les auto_prepend de PHP pour intercepter les trigger_errors et ainsi provoquer un déroulement alternatif du programme. Par exemple, plutôt que de couper net l'exécution du programme, la fonction appellée par l'auto prepend redirigerai ton utilisateur vers une page d'erreur 500 ou vers un message de maintenance par exemple.

++

 

Ajouter une réponse à la discussion

Seuls les membres connectés sont autorisés à poster dans les forums !

Identifiez-vous
Join |  ID/MDP? |