probleme avec mysql_query

pec
Eléphanteau du PHP | 26 Messages

10 mai 2005, 16:20

Bonjour a tous!

je debute la programmation en PHP et j'ai un petit probème. voila mon code:
<?
// Connexion
$dsn = "toto";
$user = "titi";
$passwd = "tutu";
$connexion = odbc_connect($dsn,$user,$passwd,SQL_CUR_USE_DRIVER);

  echo '<select size=1 name="cat">'."\n";
  echo '<option value="-1">Choisir un résultat<option>'."\n";
  
  // Récupération des informations triées par ordre alphabétique
  $sql = "SELECT nom_test FROM test";
  $ReqLog = mysql_query($sql, $connexion);
  
  while ($resultat = mysql_fetch_row($ReqLog)) {
    echo '<option value="'.$resultat[0].'">'.$resultat[1];
    echo '</option>'."\n";
  }
  
  echo '</select>'."\n";
?>
Mais j'ai deux messages d'erreur:
Warning: mysql_query(): supplied resource is not a valid MySQL-Link resource in c:\program files\easyphp1-8\www\essai.php on line 35

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\essai.php on line 37

Est ce que quelqu'un peut me dire ce qu'il ne va pas?

Merci

Eléphant du PHP | 281 Messages

10 mai 2005, 16:23

Bonjour
c'est ta méthode de connection qui est pas bonne :

$connexion=mysql_connect($dsn,$user,$passwd);
$conn=mysq_select_db(nombdd);

// pas $connexion = odbc_connect($dsn,$user,$passwd,SQL_CUR_USE_DRIVER); 

pec
Eléphanteau du PHP | 26 Messages

10 mai 2005, 16:25

ok
j'ai essayer cette methode de connexion mais j'ai des pb d'acces
je vais voir ce que je peux faire pour les droit d'acces.

merci

pec
Eléphanteau du PHP | 26 Messages

10 mai 2005, 17:47

est ce que quelqu'un peut m'eclairer sur la configuration de easyphp.
je developpe sur un pc windows et ma base de données est sur un autre pc sous environnement unix.
merci de me venir en aide car j'ai le message d'erreur suivant:
Warning: mysql_connect(): Access denied for user: '[email protected](Using password: YES) in c:\program files\easyphp1-8\www\essai.php on line 13.

merci

Mammouth du PHP | 983 Messages

10 mai 2005, 17:54

Est tu sur des identifiants pour te connecter à la base? Le moteur de base de données est bien Mysql?
Dans ton mysql_connect(), il faut que tu mettes l'ip du pc linux, puis ton nom d'utilisateur qui a accès à la base et son mot de passe. ;)

Eléphant du PHP | 281 Messages

10 mai 2005, 17:54

enfaite si tu ve que ca marche en local il te suffit de taper a la place de ton pseudo et mdp et adresse :

"root" "" "localhost"

et normalement tu auras pas de soucis sinon ben pour configurer cela dans easyphp faut allez dans le menu administration puis : gestion bdd,
cliquer sur privilège, tu modifie le présent alias : root et " " et tu remplace par ce que tu veux
dès lors que tu aura valider tu ne pourra plus acceder à phpmyadmin
mais pas de panique
tu va dans le dossier ou tu as installer phpmyadmin
tu edite le fichier config_inc.php et tu modifie les lignes 84 et 85
mais jte conseillerai d'eviter les modif de se type,)

pec
Eléphanteau du PHP | 26 Messages

11 mai 2005, 09:36

ca c'est la modif de config pour dire que ma base de données est sur un autre pc?
est ce que c'est poosible de dire que la base est sur tel pc et de travailler en local?

Eléphant du PHP | 281 Messages

11 mai 2005, 09:39

ah ca ben si tu ve te connecter sur une base en ligne
tu remplace le localhost par l'adresse ip de la machine hôte de la bdd et le pseudo et mdp que tu as configurer en ligne

pec
Eléphanteau du PHP | 26 Messages

11 mai 2005, 10:12

merci bcp !!

mais j'ai un autre pb :cry:
tjs dans le meme bout de code

$sql = "SELECT nom_test FROM test";
$ReqLog = mysql_query($sql, $connexion);

while ($resultat = mysql_fetch_row($ReqLog)) {
echo '<option value="'.$resultat[0].'">'.$resultat[1];
echo '</option>'."\n";
}

echo '</select>'."\n";
mysql_close($connexion);
?>
message d'erreur: Warning: mysql_fetch_row(): supplied argument is not valid mysql result resource.

merci de ton aide

Eléphant du PHP | 281 Messages

11 mai 2005, 10:15

ben moi je serai toi , je virerai le $connection dans le mysql_fetch_row();
ca a déjà fait bugger mes scripts chez moi donc c'est peu être ca? tu à plus que ce message d'erreur ? sino vérifie que tu a bien les donnée dans la bdd etC. Verifie tes noms de table aussi

pec
Eléphanteau du PHP | 26 Messages

11 mai 2005, 10:21

ouais j'ai plus que ce message d'erreur.
pour ce qui est des données elles sont bien presentent dans la base et j'ai aussi verifier les nom des table ainsi que les champs.
tu as une idée pour remplasser mysql_fetch_row()?
merci

Eléphant du PHP | 281 Messages

11 mai 2005, 10:27

bon on place un test sur la requete
après ta ligne de requête place ce code et dis moi ce qu'il te dit :
 $sql = "SELECT nom_test FROM test";
$ReqLog = mysql_query($sql, $connexion); 
if(!ReqLog)
{
 echo("Beuu ca marche pas ");  
}
else
{
 echo("Yeah la requête est juste");
}

pec
Eléphanteau du PHP | 26 Messages

11 mai 2005, 10:31

voila le resultat:
Notice: Use of undefined constant ReqLog - assumed 'ReqLog' in c:\program files\easyphp1-8\www\essai.php on line 22
Yeah la requête est juste

alors c'est quoi?

en faite il y avait une faute de frappe dans le code

voila ce que j'ai:

Beuu ca marche pas

Eléphant du PHP | 281 Messages

11 mai 2005, 10:34

rah jte copie un code faux je suis trop nul lol
enfaite j'ai oublier un $
donc corrige le code ke je t'ai filer rajoute juste un $ devant ReqLog ce qui donnera donc :
if(!$ReqLog)...
désolé :oops:

pec
Eléphanteau du PHP | 26 Messages

11 mai 2005, 10:36

je l'ai fait avant que tu post. regarde mon dernier message

j'ai ca maintenant:

Beuu ca marche pas