Trouver une rangée sachant qu'elle est unique

Herve_be Messages postés 1182 Date d'inscription   Statut Membre Dernière intervention   -  
Herve_be Messages postés 1182 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

Ceci fonctionne parfaitement

$Users = mysqli_query($db,"select username FROM `users` where `user_id`=".$UserID );
while($User = mysqli_fetch_array($Users))
	{
	$UserName = $User['username'];
	}

Toutefois je suis certain que je ne trouverai qu'une seule Row car User_id est une clé unique, par conséquent je trouve dommage d'utiliser While sachant que la "boucle" ne sera parcourue qu'une seule fois.

Comment trouver directement s la seule entrée qui répond au Where ?

Grand merci d'avance pour votre aide
Windows / Chrome 126.0.0.0

2 réponses

  1. Alex-Rever Messages postés 556 Statut Membre 53
     

    Bonjour,

    Tu peux utiliser mysqli_fetch_assoc pour récupérer directement la seule entrée. Voici un exemple concret :

    $UserID = 123; // Exemple de UserID
    $Users = mysqli_query($db, "SELECT username FROM `users` WHERE `user_id` = $UserID");
    $User = mysqli_fetch_assoc($Users);
    if ($User) {
        $UserName = $User['username'];
    }

    Cette méthode récupère directement la seule ligne sans utiliser de boucle.

    0
    1. Herve_be Messages postés 1182 Date d'inscription   Statut Membre Dernière intervention   11
       

      Merci, le IF est-il nécessaire si je suis certain qu'il y en a un et un seul ?
      Ceci fonctionne-t-il de même ?

      $User = mysqli_fetch_assoc($Users);
      $UserName = $User['username'];
      0
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Herve_be Messages postés 1182 Date d'inscription   Statut Membre Dernière intervention  
         

        Cela fonctionnera jusqu'au jour où la certitude se transformera en supposition.

        Pourquoi cette question, ne sais-tu pas ce que fait le IF?

        0
      2. Herve_be Messages postés 1182 Date d'inscription   Statut Membre Dernière intervention   11 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         

        A quoi sert il de coder IF si la réponse est toujours TRUE ?

        0
      3. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Herve_be Messages postés 1182 Date d'inscription   Statut Membre Dernière intervention  
         

        Elle est toujours TRUE, jusqu'au jour où elle ne le sera plus.

        Coder, c'est se préparer à l'imprévu.

        0
      4. Herve_be Messages postés 1182 Date d'inscription   Statut Membre Dernière intervention   11 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         

        OK, merci, je vais ajouter IF (1 == 1) devant toutes mes instructions, on ne sait jamais ...

        0