problème bizarre: connexion base mysql

problème bizarre: connexion base mysql - PHP - Programmation

Marsh Posté le 27-03-2003 à 16:30:49    

alors je vous explique:
j'ai une page php d'essai de connexion
avec host login password de défini.: le fait d'appeler la fonction connexion_mysql_db fait une erreur:  

Code :
  1. <?php
  2. function erreur_connexion_mysql($error = "" ) {
  3.   if (empty($error)) {
  4.      $mysqlError = mysql_error();
  5.      if (!empty($mysqlError)) {
  6.         echo "Réponse serveur SQL : ".$mysqlError;
  7.      }
  8.   }
  9.   else echo "Réponse serveur SQL : ".$error;
  10.   echo "<br><a href=\"javascript:history.go(-1)\">BACK</a>";
  11.   exit;
  12. }
  13. function connexion_mysql_db() {
  14.   $db = mysql_connect($host,$login,$password) or erreur_connexion_mysql();
  15.   mysql_select_db($base,$db);
  16. }
  17. //$db = mysql_connect($host,$login,$password) or erreur_connexion_mysql();mysql_select_db($base,$db);
  18. connexion_mysql_db();
  19. mysql_close();
  20. ?>


 
erreur :

Code :
  1. Warning: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) .../essaiconnexion.php on line 19
  2. Warning: MySQL Connection Failed: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) .../essaiconnexion.php on line 19
  3. Réponse serveur SQL : Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
  4. BACK


 
et sans appeler la fonction, en copiant et collant le code de la fonction directement , ça marche:
c'est à dire: au lieu d'appeler la fonction, je mets:  

Code :
  1. $db = mysql_connect($host,$login,$password) or erreur_connexion_mysql();
  2. mysql_select_db($base,$db);


 
Pouvez vous m'expliquer????

Reply

Marsh Posté le 27-03-2003 à 16:30:49   

Reply

Marsh Posté le 31-03-2003 à 01:12:41    

<?php  
function erreur_connexion_mysql($error = "" ) {  
 if (empty($error)) {  
    $mysqlError = mysql_error();  
    if (!empty($mysqlError)) {  
       echo "Réponse serveur SQL : ".$mysqlError;  
    }  
 }  
 else echo "Réponse serveur SQL : ".$error;  
 echo "<br><a href=\"javascript:history.go(-1)\">BACK</a>";  
 exit;  
}  
 
function connexion_mysql_db($host,$login,$password,$base) {  
 $db = mysql_connect($host,$login,$password) or erreur_connexion_mysql();  
 mysql_select_db($base,$db);  
}  
 
//$db = mysql_connect($host,$login,$password) or erreur_connexion_mysql($host,$login,$password,$base);
mysql_select_db($base,$db);  
connexion_mysql_db();  
mysql_close();  
?>


Message édité par blackphantom le 31-03-2003 à 01:15:51
Reply

Marsh Posté le 02-04-2003 à 11:51:42    

Je ne passais pas les arguments en paramètres car j'ai un fichier ou il y a les fonctions et les variables $host..etc
et au début des pages php ou j'appelle la fonction mysql_connexion_mysql_db, je fais un require de ce fichier.
Donc normalement, les variables sont connues!
(sur un précédent hebergement ( multimania lycos) tout se passer bien
et la, c'est sur claranet...)

Reply

Marsh Posté le 02-04-2003 à 11:54:56    

Code :
  1. function connexion_mysql_db() {
  2.       $db = mysql_connect($host,$login,$password) or erreur_connexion_mysql();
  3.       mysql_select_db($base,$db);
  4.   }


 
dans cette fonction $host,$login,$password ne sont pas connus .. si ils sont definies ailleurs, defini les en global ds ta fonction
 

Code :
  1. function connexion_mysql_db() {
  2. global $host,$login,$password;
  3.       $db = mysql_connect($host,$login,$password) or erreur_connexion_mysql();
  4.       mysql_select_db($base,$db);
  5.   }


 
 
blackPhantom a raison aussi, un simple echo de tes variables dans ta fonction naurait montrer que tes variables etaient vides.  


Message édité par beleg le 02-04-2003 à 11:56:25
Reply

Marsh Posté le 02-04-2003 à 14:22:05    

merci ça marche  bien maintenant..  
sur le précédent hebergeur, il ne fallait pas absolument global.
C'est bon à savoir :-)  
merci encore

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed