PB connection MySQL [Résolu]

Signaler
Messages postés
16
Date d'inscription
samedi 25 février 2006
Statut
Membre
Dernière intervention
24 mai 2007
-
Messages postés
16
Date d'inscription
samedi 25 février 2006
Statut
Membre
Dernière intervention
24 mai 2007
-
Bonjour, Voila ma situation, j'ai installé Apache,PHP 5, MySQL et phpMyAdmin en séparer (pas easyphp).

Mon pb est que la commande de connection à mysql ne fonctionne pas, voici le code que j'éffectu :

echo "essai2";
mysql_connect($this->getHost(), $this->getUser(), $this->getPassword()) or die("Connexion au serveur impossible".$this->MysqlConnexionErr().mysql_error());
echo "essai3";

les echo m'on permis de savoir d'ou vennait l'erreur car seul essai2 s'affiche, je croyais que s'il y avait un pb dans mysql_connect alors le die s'éxecuterais mais mème pas. Pourquoi?

J'ai bien un user qui a comme paramètre ceux passé par la fonction.

quel peut etre le pb?


merci

5 réponses

Messages postés
16
Date d'inscription
samedi 25 février 2006
Statut
Membre
Dernière intervention
24 mai 2007

bonjour,


Bon j'ai trouver la solution sur le forum de apache http://forum.apachefrance.com/viewtopic.php?t=3425 et heu... j'avais oublier de décommenter une extension dans php.in qui autorisait l'acces à mysql : extension=php_mysql.dll

voila merci pour votre aide.
Messages postés
1352
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
19 novembre 2008
1
Bonjour,

est-ce que ton code fait partie d'une classe ?
Si c'est pas le cas, changes la ligne par

mysql_connect("localhost", "root", "") or die("Connexion au serveur
impossible". mysql_error() );

Cordialement

http://perso.wareteam.com
http://freelance.wareteam.com
Messages postés
16
Date d'inscription
samedi 25 février 2006
Statut
Membre
Dernière intervention
24 mai 2007

Mon code fait bien partie d'une classe.

J'ai essayer le code que tu as mis ainsi que sans mettre mysql_error(), j'ai essayer aussi de mettre une @ devant mysql_connect comme je l'ai vue sur differents site mais je ne vois pas son utilité

par contre tous ces essais ne fonctionnent pas.
Messages postés
1352
Date d'inscription
lundi 27 octobre 2003
Statut
Membre
Dernière intervention
19 novembre 2008
1
est-ce que tu peux mettre le code de la classe en entier + la page php qui fait appelle à cette classe
http://perso.wareteam.com
http://freelance.wareteam.com
Messages postés
16
Date d'inscription
samedi 25 février 2006
Statut
Membre
Dernière intervention
24 mai 2007

ok donc voila le code de la classe j'ai juste enlever les get afin d'etre moins long

<?php


class connection3
{
  var $host; // nom du serveur
 var $user; // nom de l'utilisateur
 var $password; // mot de passe
 var $database; // nom de la base de donnée
 
 /********************************
 /   Constructeur
 *********************************/
    function BDD()
 {
     $this->host = "";
    $this->user = "";
    $this->password = "";
    $this->database = "";
 }
 
 /********************************
 /   Connection au serveur MySQL
 *********************************/ 
  function doConnect()
 {
  echo "essai2";
  mysql_connect($this->getHost(), $this->getUser(), $this->getPassword()) or die("Connexion au serveur impossible".$this->MysqlConnexionErr().mysql_error());
  echo "essai3";
 }
 
 /************************************
 /   Creation d'une base de donnée
 *************************************/
 function doCreateBDD()
 {
  $requete = "CREATE DATABASE ".$this->getDatabase();
  $resulat = mysql_query($requete) or die(mysql_error().$this->MysqlCreationBErr());
    $this->enregistrer(); 
 }
 
 /********************************************
 /enregistrement du nom de la base de données
 ********************************************/
 function enregistrer()
 {
   $chemin = "C:\Program Files\EasyPHP1-8\www\arnaud\conf.ini";
  $ereg = fopen($chemin,"w");
  fwrite($ereg,$this->getDatabase()); 
  fclose($ereg);
 }
 
 /********************************************
 /lecture du nom de la base de données
 ********************************************/
 function lecture()
 {
   $chemin = "C:\Apache\www\monsite\essai\arnaud\conf.ini";
  if (file_exists($chemin))
  {
      $lec = fopen($chemin,"r"); 
   while (!feof($lec))
   {
      $buffer =  fgets($lec, 4096);
      $this->setDatabase($buffer);
   }
   fclose($lec);
   return 1;
  }
 }
 
 /************************************
 /   Selection d'une base de donnée
 *************************************/
 function doSelect()
 {
   mysql_select_db($this->getDatabase()) or die("Sélection de la base de données impossible".$this->MysqlSelectionErr().mysql_error());
 }
 
 /**************************************
    /   Suppression de la base de données
    **************************************/
 function doDeletBDD()
 {
   $chemin = "C:\Program Files\EasyPHP1-8\www\arnaud\conf.ini";
  $requete = "DROP DATABASE ".$this->getDatabase();
  $resulat = mysql_query($requete) or die(mysql_error().$this->MysqlSuppressionErr());
  unlink($chemin);
 }
 
 /***********************************
  /   Erreur de connecxion au serveur
  ************************************/
  function MysqlConnexionErr()
 {
    echo '';
    echo 'Impossible de se connecter à  se serveur : '.$this->getHost().'
';
    echo '';
  }
 
 /********************************************
  /   Erreur de création d'une base de donnée
  *********************************************/
 function MysqlCreationBErr()
 {
   echo '';
    echo 'La base de donnée '.$this->getDatabase().' n a pas été créer
';
    echo '';
 }
 
 /********************************************
  /   Erreur de selection d'une base de donnée
  *********************************************/
  function MysqlSelectionErr()
 {
   echo '';
   echo 'La base de donnée '.$this->getDatabase().' est inexistante
';
   echo '';
  }
 
 /********************************************
  /   Erreur de suppression de la base de donnée
  *********************************************/
 function MysqlSuppressionErr()
 {
   echo '';
    echo 'La base de donnée '.$this->getDatabase().' na pas été supprimer
';
    echo '';
 }
 
 /********************************
  /   Property SET
  *********************************/
  function setHost($strHost ='')
 {
   if (empty($strHost))
    {
    $this->host = 'localhost';
    }
    else
    {
      $this->host = $strHost;
    }
  }
   
  function setUser($strUser='root')
 {
   $this->user = $strUser;
  }
   
  function setPassword($strPass='')
 {
   if (empty($strPass))
    {
    $this->password = '';
    }
    else
    {
      $this->password = $strPass;
    }
  }

  function setDatabase($strDbase)
 {
   $this->database = $strDbase;
  }

 /********************************
 /   Property GET
 *********************************/
?>
et voici le code qui l'appel

<?php


require("connection3.php");
require("modification3.php");


$bdd = new modification3(); // Creation d'une nouvelle base de donnée
$bdd->setHost("localhost"); // Assign Host Name
$bdd->setUser("root"); // Assign User Name
$bdd->setPassword(""); // Assign Password
$bdd->doConnect(); // Connexion au serveur

...
?>

mofication3() est un constructeur vide dans le fichier modification3.php qui appartien à une classe du meme nom.

merci pour ton aide.