requete mysql_connect problematique

ViPHP
ViPHP | 5462 Messages

13 nov. 2010, 21:25

oui !

je m'explique, pour un site FREE on fait la requete suivante :

Code : Tout sélectionner

$db = mysql_connect('ftpperso.free.fr', 'moncompte', 'xxxxxxxxxx'); mysql_select_db('pma_base',$db);
le ftp n'a rien a voir avec le SQL, si ca marche c'est juste que c'est la meme ip c'est tout, donc je te repose la question : qu'est ce qui marche pas et est ce que t'a un message d'erreur ?

Eléphanteau du PHP | 20 Messages

13 nov. 2010, 21:31

voilà mon fichier test :

la requete ne s'effectue pas
Modifié en dernier par arme le 15 nov. 2010, 19:21, modifié 1 fois.

ViPHP
ViPHP | 5462 Messages

13 nov. 2010, 22:00

c'est sql6 ou sql23 ? t'as essaye avec juste localhost ?

Eléphanteau du PHP | 20 Messages

13 nov. 2010, 22:02

l'un ou l'autre ca importe peu... il faut bien une adresse pour aller sur le serveur !

aaah c'est pas clair quand on passe par un hote sur certains hébergeurs ! :oops:

ViPHP
ViPHP | 5462 Messages

13 nov. 2010, 22:06

l'un ou l'autre ca importe peu... il faut bien une adresse pour aller sur le serveur !

aaah c'est pas clair quand on passe par un hote sur certains hébergeurs ! :oops:
et localhost ?

Eléphanteau du PHP | 20 Messages

13 nov. 2010, 22:43

ma base est sur un hebergement pas en localhost
bon tanpis, je contacterai mon hebergeur lundi ^^

ViPHP
ViPHP | 5462 Messages

13 nov. 2010, 23:08

ma base est sur un hebergement pas en localhost
bon tanpis, je contacterai mon hebergeur lundi ^^
aucun rapport localhost c'est la boucle de la machine..., essaye au moins

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

14 nov. 2010, 00:04

Les données à utiliser sont bien :
$db = mysql_connect("sql6","playteam","xxxxxx");
mysql_select_db('playteam',$db);
Si cela engendre un message d'erreur, peux tu nous le donner ?

As-tu essayé de te connecter avec phpmyadmin et ces identifiants ? (au cas où il faudrait activer un truc au préalable)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 20 Messages

14 nov. 2010, 01:20

ca devient compliqué a faire comprendre :mrgreen:
Modifié en dernier par arme le 15 nov. 2010, 19:21, modifié 1 fois.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

14 nov. 2010, 03:00

Y a deux choses : le ftp et la base de données.

- Le FTP c'est le truc qui te permet d'envoyer ou de récupérer les fichiers sur ton serveur. Il a une adresse, un login et un mot de passe.
- La BDD c'est ce qui te permet de gérer tes données. Elle a une adresse, un login et un mot de passe (et en plus elle a un nom)

Il n'y a absolument aucun lien entre les deux :)

Chez Free, l'adresse de la bdd et l'adresse du serveur ftp étaient les mêmes... soit... ils ont peut être fait ça pour simplifier la vie des internautes... mais rien n'oblige les autres hébergeurs à faire de même. Si phpnux te dit que l'adresse de ton ftp est "ftp.playteam.fr" et que l'adresse de ta base mysql est "sql6", c'est qu'il y a 99% de chances pour que l'adresse de ton ftp soit "ftp.playteam.fr" et que l'adresse de ta base mysql soit "sql6" ;)

Donc a/ Si tu te connectes via phpmyadmin est-ce que ta base de données est bien créée ?
b/ Si tu testes le code ci-dessus avec sql6 comme adresse de serveur, quel message d'erreur obtiens-tu ?
c/ Obiwan Kenobi ?
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 20 Messages

14 nov. 2010, 11:48

salut




merci pour l'aide :lol:

ps: la table existe, j'ai fait la requete sur phpmyadmin avant
Modifié en dernier par arme le 15 nov. 2010, 19:22, modifié 1 fois.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

14 nov. 2010, 12:00

Le choix du serveur se fait au moment de la connexion. Ton sql1, 2, 3 ... indique à php la machine physique sur laquelle se trouve ton sgbd (et chez free, la base se trouve sur la même machine que le serveur ftp). C'est le premier paramètre à donner à ta fonction mysql_connect().

Une fois que php sait où se connecter, il a besoin de l'identifiant et du mot de passe pour se connecter au sgbd. Une fois qu'il est connecté, tu peux lui préciser à quelle base de données il doit accéder. Enfin seulement tu pourras exécuter tes requêtes :)
<?php
$db = mysql_connect("sql6","playteam","xxxxxxxxxxxx");
if (!$db) {
    die('Connexion impossible : ' . mysql_error());
}

$db_selected = mysql_select_db('playteam',$db);
if (!$db_selected) {
   die ('Impossible de sélectionner la base de données : ' . mysql_error());
}

$sql = 'SELECT id, username FROM jos_users LIMIT 0 , 30 ';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_assoc($req))
    {
    echo '<b>'.$data['id'].' '.$data['username'].'</b>';
    }
mysql_close();
?>
Que donne ce code (avec ton mot de passe bien entendu), et si message d'erreur, quel est-il ?
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 20 Messages

14 nov. 2010, 20:54

ca marche !!

merci bcp et encore désolé pour tous ces posts :mrgreen: