Comment chercher résultat de MySQL ligne avec plusieurs colonnes de même nom avec PHP?
select * from A left join B on A.columnc=B.columnd
résultats retournés par SQL ci-dessus comprendra à la fois des colonnes de A et de B.
Et que si A et B ont certaines colonnes avec le même nom?
Comment récupérer la valeur d'PHP?
source d'informationauteur omg | 2009-09-13
Vous devez vous connecter pour publier un commentaire.
Vous voulez probablement être plus explicite dans votre requête. De cette façon, vous pouvez fournir des alias pour votre colonnes:
La réponse est actuellement dans le La documentation PHP:
"Si deux ou plusieurs colonnes de la suite ont les mêmes noms de champs, la dernière colonne aura la priorité. Pour accéder à l'autre de la colonne(s) du même nom, vous devez accéder à la suite avec des indices numériques en utilisant
mysql_fetch_row()
ou d'ajouter des noms d'alias. Voir l'exemple à lamysql_fetch_array()
description sur les alias. "Spécialement
mysql_fetch_array()
semble être le meilleur candidat quand vous insistez sur l'utilisation de l'étoile dans l'instruction select:Alors vous pouvez vous référer à la unambigous champs par
$row[name]
et à la ambiguë, un par$row[col_number]
mais que les limites de la portabilité de votre code (peut-être la prochaine version de MySQL va colonnes de retour dans un ordre différent?). Solution recommandée est de réécrire votre requête et la liste de tous les champs requis au lieu d'utiliser des étoiles et de la ambiguë ceux - utiliser des alias.Vous devez utiliser les alias de colonne dans l'instruction select.
En Java+MySQL à partir de l'objet ResultSet, vous pouvez utiliser, par exemple, getString("un.id") et aussi getString("b.id"), si votre requête a été comme "SÉLECTIONNER un.id.b.id DE a,b"
Je ne sais pas si il y a quelque chose comme cela en PHP.
Ce qui concerne