pb requette avec un alias

Eléphant du PHP | 86 Messages

21 août 2007, 13:17

J'utilise un alias dans la requete MySQL
Pour trouver le resultat je ne m'en serre pas.
Y a t'il une methode plus rapide pour avoir la valeur de nomcategorie (mon alias) ?
$rq ="SELECT nomcat as nomcategorie FROM categorie WHERE id_categorie = $categorie";
		$bundle_resultat = mysql_query($rq);
		$enregistrement = mysql_fetch_array($bundle_resultat);
	       $nomcategorie =  $enregistrement[0];

Eléphanteau du PHP | 38 Messages

21 août 2007, 13:31

$rq ="SELECT nomcat FROM categorie WHERE id_categorie = $categorie";
        $bundle_resultat = mysql_query($rq);
        $enregistrement = mysql_result($bundle_resultat, 0);

d0m
Mammouth du PHP | 1141 Messages

21 août 2007, 13:32

ta question n'est pas très claire... si tu ne veux pas utiliser d'alias, enleves le simplement

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

21 août 2007, 13:32

Plus rapide, non pas vraiment... au mieux tu peux utiliser mysql_fetch_row() plutôt que mysql_fetch_array() pour ne pas charger le tableau associatif, mais c'est franchement pas grand chose que tu y gagnes... par contre tant qu'à utiliser un alias, autant l'utiliser pour récupérer la donnée :
$enregistrement = mysql_fetch_array($bundle_resultat); 
$nomcategorie =  $enregistrement['nomcategorie'];
 
Ca sera pas plus rapide, mais plus explicite et plus facile à maintenir ou a faire évoluer par la suite
Et tu peux utiliser mysql_fetch_assoc() en ce cas à la place du fetch_array :)

Mais l'alias est surtout interessant lorsque tu utilises une fonction (SELECT MAX(AVG(champ)) AS alias) ou bien pour un diminutif (SELECT nom_du_champ_très_long AS alias). Dans ton exemple il n'est effectivement pas utile, à moins de vouloir donner un nom plus explicite à ta colonne :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...