Se connecter avec
S'enregistrer | Connectez-vous

[PHP/MySQL] problème pour récupérer des donnés sur la BDD

Dernière réponse : dans Programmation

bonjour,
sa fait un petit moment déja que je galère..
donc j'ai créé une base de donnée avec comme table utilisateur
les champs sont:
-id
-pseudo
-age
-sexe

(ce ne sont que des exemple)

un utilisateur est inscrit sur la base de donnée avec comme pseudo jéjé(toujours un exemple)

je voudrais a partir d'un requete mysql récupéré toute les infos sur cette personne et les mettre dans une unique varible

déja es-ce que c'est possible, il me semble mais je suis pas sur
et si c'est possible donnée moi la solution stp ;-)

merci d'avance
Lassé par la pub ? Créez un compte

Cher Pinpin,

Je pense que tu ne peux pas te dispenser de lire au moins l'introduction de la doc mysql, et de la section mysql de php...

Si tu l'as fait, et si tu ne t'en sors pas, voilà une piste (à la truelle et sans gestion des erreurs):

  1. // Connexion
  2. $mysql=mysql_connect("host:port", "user");
  3. // Connexion sur la base
  4. $ma_base="turlutut";
  5. mysql_query("use $ma_base");
  6. // Définition de la requête: prend tout dans la table tararata où le champ pseudo vaut "jéjé"
  7. $ma_table="tararata";
  8. $query="select * from $ma_table where pseudo='jéjé'";
  9. // On émet la requête
  10. $ressource=mysql_query($query);
  11. // On la fetch, pour récupérer l'enregistrement de jéjé dans les variables id, pseudo, age, sexe
  12. list($id, $pseudo, $age, $sexe)=mysql_fetch_row($ressource);
  13. // sinon tu peux faire aussi $array=mysql_fetch_row($ressource); et là tu auras $array[0]='id de jéjé' etc...
  14.  
  15. // On ferme la connexion
  16. mysql_close($mysql);


Attention cependant!!!!
Cet exemple est très (trop) sommaire!!!
Non seulement on ne vérifie pas que tout se passe bien (s'il y a une base ma_base, si la requête produit un résultat), mais on n'échappe (déechappe rien...).

En effet il faut échapper les chaines de caractères avant de les passer à une requête sql, et le cas échéant (selon ta conf php), il est possible que tu récupères en résultat des chaines échappées...

Bref, si ca te débloques, c'est cool, mais je ne peux que te recommander une lecture un peu plus profonde du manuel... je te dis ça sans te prendre de haut, juré... ne te vexes pas! :-D

A bientôt!

dMp

Voilà pour améliorer ton truc:
  1. if (($ressource=mysql_query($query))!==false):
  2. $exit=array();
  3. while ($ligne=mysql_fetch_row($ressource)):
  4. $exit[]=$ligne;
  5. endwhile;
  6.  
  7. if (count($exit)):
  8. echo 'Utilisateurs nommés jéjé:<br>';
  9. foreach ($exit as $key=>$value)
  10. {echo ($key+1)." - id: $value[0], ... etc";
  11. }
  12. else:
  13. echo 'Aucun utilisateur nommé jéjé';
  14. endif;
  15. else:
  16. echo 'problème avec la requête';
  17. endif;


... copiecolle ca dans un editeur avec syntaxe colorée pour voir quelque chose...

PS: je te donne ça à la volée... je garantis pas l'error free... :-P

Bosco:
Tu as raison pour le pass.... je l'ai zappé... merci pour la remarque...
Pas d'accord pour le port.
Le port "sert" à quelque chose (si par exemple ton serveur écoute le port xyz...)

Pinpin:
Je te conseille vivement de lire la doc php (que je trouve bien faite), concernant chacune des fonctions que tu emploies...

A+

dMp

esseye un truc du genre comme sa ...

<?
mysql_connect("", "", ""); // Connexion à MySQL
mysql_select_db(""); // Sélection de la base

$reponse = mysql_query("SELECT * FROM etape where pseudo=jéjé "); // Requête SQL
//boucle
while ($donnees = mysql_fetch_array($reponse) )
{
//affichage
?>
<th><? echo $donnees['champ']; ?></th>

<th><? echo $donnees['...']; ?></th>
<th><? echo $donnees['']; ?></th>
<th><? echo $donnees['']; ?></th>
<th><? echo $donnees['']; ?></th>
<tr>

<?
}//je ferme
mysql_close();
?>
</table>
Lassé par la pub ? Créez un compte
Tom's guide dans le monde