Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[debutant] Probleme PHP

2 réponses
Avatar
Bzzz
Bonjour à tous les fins connaisseurs du php et d'sql, de la part d'un
débutant !
J'espère que vous aurez la patience de dépanner un béotien dans sa pratique
hésitante de l'art de la programmation !
Mon problème est le suivant : les quelques lignes de code ci-dessous ne
renvoient aucune erreur (donc pas de parse error ou de syntax error, c'est
déjà ça !) mais ne donne pas non plus le résultat. A force de tourner et
retourner le blème dans tout les sens, j'en finis par ne plus avoir les yeux
en face des trous, peut être avec un oeil neuf, et sans doute un peu plus de
technique que moi, pourrez-vous m'aider à trouver l'erreur ? Je précise que
remplaçant les ... il y a la connection à la base de données qui va bien et
qui se fait sans problème.

<?
...
$requete= "SELECT table1.champ1,table1.champ2,table2.champ1
FROM table1,table2
WHERE table1.champ2=table2.champ1
AND table1.champ1=".$_REQUEST['champ1'];

$resultat=mysql_query($requete);

while (mysql_fetch_row($resultat))
{
$variable1=$row[0];
$variable2=$row[1];
$variable3=$row[2];

echo "Variable 1 : ";
echo $variable1;
echo "<br>";
echo "Variable 2 : ";
echo $variable2;
echo "<br>";
echo "Variable 3 : ";
echo $variable3;
echo "<br>";
}
flush();
mysql_close();
?>

Ca marche, ça fonctionne, mais le résultat à l'affichage est :
Variable 1 :
Variable 2 :
Variable 3 : 1

Le résultat de la variable 3 est passé dans une url et récupéré par le
.$_REQUEST['champ1']; (ça au moins, ça marche !)

Pour info, la requête fonctionne parfaitement sous phpMyAdmin et donne le
résultat attendu, c'est sur la partie php que j'ai de gros doutes...

Bzzz
----------------------------------------
Pour m'écrire perso, baissez d'un ton ;-)

2 réponses

Avatar
Frederic BISSON
while (mysql_fetch_row($resultat))
Je pense que

while($row=mysql_fetch_row($resultat))
fonctionnerait mieux...

Je te recommanderait d'utiliser plutôt une fonction du style
mysql_fetch_assoc que mysql_fetch_row
Exemple :
...
$personne=mysql_fetch_assoc($resultat);

$nom =$personne['nom'];
$prenom=$personne['prenom'];
...

Egalement, tu pourrais utiliser des noms de variables plus explicites que
$variable1 et $row (comme dans l'exemple ci-dessus)

flush();
Pas très utile...


@+

Frédéric BISSON

Avatar
Antoine Dinimant
while (mysql_fetch_row($resultat))
{
$variable1=$row[0];
$variable2=$row[1];
$variable3=$row[2];


l'erreur est ici : dans ton code, $row vient de nulle part !
il faut que tu écrives :
while ($row = mysql_fetch_row($resultat))
¯¯¯¯¯¯

echo "Variable 1 : ";
echo $variable1;
echo "<br>";


au passage, tu peux écrire plus simplement :
echo "Variable 1 : $variable1<br>" ;