Aller au contenu

[PHP] Problème de row


DataMAX

Messages recommandés

Bonsoir/jour à tous,

Je débute en PHP, et je bute ( :dd: ) sur une erreur:

$noms_temp = mysql_query("SELECT username FROM users WHERE user_id = " . $_POST['expediteur'] . " OR user_id = " . $_POST['destinataire']);
$noms = mysql_fetch_row($noms_temp);

Je veux donc lancer une requète SQL et placer les résultats dans un tableau numéroté.

Ce dont je suis sûr:

- Mes variables $_POST. Vérifiées avec un echo avant.

- Ma requète SQL, elle me renvois le résultat voulu avec PhpMyAdmin.

- Aucune erreur de syntaxe à priori :dd:

- Un printr($noms) me renvois une seule ligne, alors qu'il devrait y en avoir deux.

Après avoir vaillamment luté, je m'en remet à vous :yes:

Merci d'avance.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Je pense que ça doit être ça la solution, faire une boucle pour afficher toutes les valeurs.

$noms_temp = mysql_query("SELECT username FROM users WHERE user_id = " . $_POST['expediteur'] . " OR user_id = " . $_POST['destinataire']);
$noms = mysql_fetch_row($noms_temp);
foreach( $nom as $toto )
 echo $toto . '<br />';

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

J'avais pas vu que tu utilisais mysql_fetch_row(), cette fonction ne renvoie qu'une ligne du résultat de ta requête mysql et avance le pointeur d'un cran. Si tu veux tous les enregistrements il te faut faire une boucle:

$noms_temp = mysql_query("SELECT username FROM users WHERE user_id = " . $_POST['expediteur'] . " OR user_id = " . $_POST['destinataire']);
$i=0;
while($row=mysql_fetch_row($noms_temp)){
 $nom[$i] = $row[0];
 $i++;
}

Ou alors utilise la fonction mysql_fetch_array() à la place:

$noms_temp = mysql_query("SELECT username FROM users WHERE user_id = " . $_POST['expediteur'] . " OR user_id = " . $_POST['destinataire']);
$noms = mysql_fetch_array($noms_temp);

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...