2013-10-09 4 views
1

Je n'ai besoin que de l'identifiant du membre dont le nom d'utilisateur est X depuis la base de données mysql. Cela peut-il être fait avec une boucle while ou y a-t-il un autre moyen de contourner ce problème?Requête MYSQLI pour obtenir un seul résultat

Ce que je pense à quelque chose comme:

$id = mysqli_query($con,'SELECT id FROM membrs WHERE username = '$username' LIMIT 1) 

Merci,

+0

duplication possible de: http://stackoverflow.com/questions/11456707/single-value-mysqli – Ashish

Répondre

6

Vous pouvez utiliser:

mysqli_fetch_array(); 

// For Instance 

$id_get = mysqli_query($con, "SELECT id FROM membrs WHERE username='$username' LIMIT 1"); 

$id = mysqli_fetch_array($id_get); 

echo $id['id']; // This will echo the ID of that user 

// What I use is the following for my site: 

$user_get = mysqli_query($con, "SELECT * FROM members WHERE username='$username'"); 

$user = mysqli_fetch_array($user); 

echo $user['username']; // This will echo the Username 

echo $user['fname']; // This will echo their first name (I used this for a dashboard) 
+0

Pourquoi voter en baisse? Juste par curiosité –

+0

Je n'ai pas downvote, mais probablement parce que vous utilisez '$ id = mysqli_fetch_array ($ id);' où il devrait probablement être $ show_id = mysqli_fetch_array ($ id); 'then' echo $ show_id [ 'id']; '- J'ai dit" probablement ". Il semble que vous ne feriez que réinitialiser '$ id' –

+0

Normalement, je ne fais pas ça. Je vais mettre à jour la réponse. –

2

sans while nous pouvons le faire par le code suivant, si vous sélectionnez plus de 1 enregistrement vous devez en boucle

$row = mysqli_fetch_array($id); 
echo $row['id']; 
0

Pour l'obtenir en une ligne (pas besoin de la variable $id_get):

$id = mysqli_fetch_array(mysqli_query($con, "SELECT id FROM membrs WHERE username='$username' LIMIT 1"));

ensuite pour l'afficher, il suffit de faire echo $id['id'];.

Questions connexes