[PHP/MySQL chez Free]Problème de connexion

Bonjour,

J'ai développé un site en Php/MySQL qui fonctionnait parfaitement bien en mode développement avec EasyPhp 2.0.

Voilà que je me décide à la mettre en ligne sur mon compte Free.
Pour cela, j'active ma base de données, quelques jours plus tard y importe mes tables, mes données etc. etc.

Je mets mes pages php en ligne (l'espace page perso était activé depuis des années).

Et voilà les problèmes qui commencent :
- Je décrouvre que Free propose une version 4 et non 5 de php. Programmant en objet, je renonce dans mes classes à mes variables de classe et mes variables privées au profit uniquement de variables publiques.

- Je remplace évidemment là où il le faut mes paramètres de connexion à la base de données locales par ceux de la base de données Free :
serveur : sql.free.fr
login : monprenom.monnom ;
password : monmotdepasse,
db : monprenom_monnom.

Mon code Php est validé après ma mise en confomité avec Php 4. En revanche, dès ma première requête sql, ça foire. Toute fonction mysql_fetch_assoc, mysql_num_rows ou mysql_result exploitant les résultats d'une requête mysql_query me renvoie toujours le même message d'erreur : supplied argument is not a valid MySQL result.

Autrement dit, je ne parviens pas à interroger ma base de données MySQL.

Qu'est-ce que je fais de mal ? Je rappelle que mon site marche parfaitement en local avec EasyPhp.

A tout hasard, je rappelle le code utilisé pour interroger ma base de données :
mysql_connect("sql.free.fr","monprenom.monnom","monpassword");
mysql_select_db("monprenom_monnom");
$requete="SELECT..." ;
$set=mysql_query($requete);
echo mysql_result($set,0,"monchamp");

Merci d'avance pour votre aide !
Ventresh.

10 réponses

  1. bonsoir mon probleme vien avec mysqli_connect aparament le mysql de chez free n'est pas compatible avec c'est genre de scripte ça me fais

    Fatal error: Call to undefined function mysqli_connect() in /mnt/151/sdb/7/b/monSite/includes/fonctions.php on line 13
    1. POur ta connexion, mets ce code :

      $link = mysql_connect($host, $user, $password);
      if (!$link) {
         die('Connexion impossible : ' . mysql_error());
      }
      //echo 'Connecté correctement';
      //mysql_close($link)
      
      $db = mysql_select_db($database);


      Si la connexion a ta BD echoue, tu pourras lire le message du die.
      Comme ça tu verras si le problème viens bien de ta connexion.

      Ensuite, pour le HOST, j'ai
      $host="sql.free.fr - utilisateur : mompseudo@172.20.xxx.xxx"; 

      Remplace l'IP et les xxx par ce que te donne ta BD en te connectant sur http://sql.free.fr/phpMyAdmin/
      1. Bonjour,

        Pour te connecter à une base de donnée free voilà ce que tu dois mettre

        mysql_connect("localhost","pseudo","pass");
        mysql_select_db("pseudo");

        Sachant que le pseudo correspond à celui présent dans l'adresse du site :
        http://pseudo.free.fr
        1. bonjour,

          En ce qui concerne le pseudo et le mdp, comment les récuperer pour se connecter car j'ai un probleme de connexion a la base mysql.

          je suis débutante en php.

          Merci d'avance sur votre aide.
      2. bonjour
        sql.free.fr c'est bon.
        ne pas oublier de créer un répertoire nommé sessions à la racine du site chez free.
        1. Bonjour,
          et bien aussi facilement que le message l'indique, au lieu d'écrire mysql_connect(....)
          tu as mis mysqli_connect(...) avec un I en trop.
          1. Bonsoir

            Mais si, mysqli_connect existe chez free... Je l'utilise tous les jours...
            Mais sous PHP5, pas sous PHP4.
            Le $host est bien 'localhost'
            le password à utiliser est bien sûr celui de mysql (qui peut être différent de celui du compte et de celui du FTP)

            ventresh, tu as tout intérêt à passer au PHP5 en mettant à la racine de ton site, dans un fichier .httpd :
            <ifDefine Free>
            PHP 1
            </ifDefine>
            1. pardon, fichier .htaccess
          2. je n'arrive pas a me connecter a ma base de donnees pour entrer les enregistrements via une interface web quelqu'un peut t'il m'aider? merci d'avance
            1. salut sabrina tu peut montrer le code que tu utilise pour te connecter a ta base de données????
          3. je viens de commencer la creation de mon premier site en php ,mon probleme c'est que je ne sais pas comment me connecté a la base mysql il me done toujours cet erreur:

            Warning: mysql_connect() [function.mysql-connect]: Accès refusé pour l'utilisateur: 'mysql_user'@'@localhost' (mot de passe: OUI) in C:\Program Files\EasyPHP 2.0b1\www\test.php on line 12
            Impossible de se connecter : Accès refusé pour l'utilisateur: 'mysql_user'@'@localhost' (mot de passe: OUI)
            1. bonjour, y a t 'il un sauveur ici c urgent svp ,
              j doit avoir une application web normal avec php mais qui a comme output des XML pour qui j puise utiliser en suites des API xml , des cours des ides...
              et merci