Declaration des fonctions, ca marche po :-(

Declaration des fonctions, ca marche po :-( - PHP - Programmation

Marsh Posté le 27-01-2005 à 11:34:21    

Cela retourne une erreur de connexion à la BDD:

Citation :


<? // Déclaration des variables et fonctions
 
$host = "localhost";          // Hote MySQL
$login = "root";              // Login MySQL
$pass = "";                   // Pass MySQL
$bdd = "musique";             // Nom de la BDD
 
// Fonction de connexion à la BDD
function connexionBDD()
{
mysql_connect($host,$login,$pass);
mysql_select_db($bdd);
}
?>


 
et là ca fonctionne

Citation :


<? // Déclaration des variables et fonctions
 
// Fonction de connexion à la BDD
function connexionBDD()
{
mysql_connect("localhost","root","" );
mysql_select_db("musique" );
}
?>


c'est embetant quand meme.

Reply

Marsh Posté le 27-01-2005 à 11:34:21   

Reply

Marsh Posté le 27-01-2005 à 11:36:11    

Parce que tes variables sont déclarées en globale, et pas dans la fonction, donc :

Code :
  1. function connexionBDD()
  2. {
  3. mysql_connect($GLOBALS['host'],$GLOBALS[login'], $GLOBALS[pass']);
  4. mysql_select_db($GLOBALS['bdd']);
  5. }


Message édité par FlorentG le 27-01-2005 à 11:36:23
Reply

Marsh Posté le 27-01-2005 à 11:40:07    

FlorentG a écrit :

Parce que tes variables sont déclarées en globale, et pas dans la fonction, donc :

Code :
  1. function connexionBDD()
  2. {
  3. mysql_connect($GLOBALS['host'],$GLOBALS[login'], $GLOBALS[pass']);
  4. mysql_select_db($GLOBALS['bdd']);
  5. }



 
Je capte pas trop cette notion de "global" mais ca fonctionne avec ta methode
 :jap:  

Reply

Marsh Posté le 27-01-2005 à 11:46:46    

Parce que les variables sont déclarées en dehors de ta fonction. C'est pour ça, elles sont déclarées en globale. Donc pour les récupérer dans une fonction (ou une classe), il faut passer par le tableau $GLOBALS pour y accéder :)

Reply

Marsh Posté le 27-01-2005 à 12:04:08    

OKk, je pige mieux, merci bien.

Reply

Sujets relatifs:

Leave a Replay

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