2017-02-26 1 views
0

Je suis en train d'obtenir des données de l'utilisateur quand il/elle se connecte. Voici la requêteretours 1er rang

$sql = "Select * from user LEFT JOIN user_bank ON user_bank.userID=? LEFT JOIN user_image ON user.id=? AND user_image.userID=? LEFT JOIN user_location on user_location.userID=?"; 

$query = $this -> db -> query($sql, array($sessionID, $sessionID, $sessionID, $sessionID)); 
return $query -> row(); 

Maintenant, l'identifiant est 2 et quand je tourne ici sur la requête profil, il montre la requête avec id 2 mais renvoie l'enregistrement de la première rangée au lieu de la deuxième pourquoi?

+0

Essayez return $ query -> result(); ou return $ query -> result_array(); puis var vider les résultats. – user4419336

+0

je l'ai fait montre tous les enregistrements –

Répondre

0

Si vous avez besoin d'un ordre d'utilisation de commande spécifique par

$sql = "Select * 
     from user 
     LEFT JOIN user_bank ON user_bank.userID=? 
     LEFT JOIN user_image ON user.id=? AND user_image.userID=? 
     LEFT JOIN user_location on user_location.userID=? 
     ORDER BY your_table.your_column"; 

et si vous avez besoin que les lignes firts utiliser limite

$sql = "Select * 
     from user 
     LEFT JOIN user_bank ON user_bank.userID=? 
     LEFT JOIN user_image ON user.id=? AND user_image.userID=? 
     LEFT JOIN user_location on user_location.userID=? 
     ORDER BY your_table.your_column 
     LIMIT 1"; 
0

Vous ne disposez pas d'une clause where pour la table « Utilisateur » . Il renvoie tous les enregistrements utilisateur, et pour tous les enregistrements, il joint les données des tables de détail pour l'ID 2. Utilisez "where Id = 2" à la fin.

+0

oh cher merci beaucoup j'ai oublié de le faire –

+0

Pas de problème, bro. Vous pourriez me faire une faveur en acceptant comme réponse si elle résout votre problème? –