S'lt
Je suis en train de faire un :
$auteur = sql_fetsel(
'*',
'spip_auteurs LEFT JOIN spip_auteurs_elargis USING(id_auteur)',
'id_auteur ='.$id_auteur
);
Bizarrement le champ 'login' est retourné mais vide, alors que si je
vérifie bien via phpmyadmin le login est bien comme il faut.
J'ai vidé le cache, desactivé reactivé le plugin.
Je vérifie le resultat via spip_log($auteur), rien à faire les autres
champs sont bien renseigné mais pas celui ci.
Cela peut etre du à quoi ?
Km
S'lt
Tandis que ceci marche comme il faut :
spip_log(sql_getfetsel(
'login',
'spip_auteurs LEFT JOIN spip_auteurs_elargis USING(id_auteur)',
'id_auteur ='.$id_auteur
),'inscription2'
);
A vue de pif, un "*" dans une requête à jointure ne me parait pas un bon plan: s'il y a aussi un champ "login" dans ton autre table, on est en pleine ambiguité. Comme de plus * consomme le maximum de mémoire, vaut mieux y renoncer. C'est d'ailleurs ce que fait le compilateur de SPIP.
Committo,Ergo:Sum
S'lt
Là je suis dans un cas où login n'est présent que dans spip_auteurs.
J'ai vérifié avant 
Si je me rappelle bien (en tout cas avec mysql) je crois que ça
retourne table.champ lors des ambiguités.
Bon je teste en nommant l'ensemble des mes champs.
Les différences de perfs sont elles si notables ?
Dans ce cas dois je plutot :
- verifier en amont mon besoin et faire plusieurs sql_select
- faire un gros sql_select puis vérifier à posteriori si c'est necessaire.
Km
S'lt
Bon ça devait etre ça :
$auteur = sql_fetsel(
'nom,email,login'
.',prenom,nom_famille,sexe,societe,secteur,fonction,code_postal_pro,ville_pro,pays_pro,telephone_pro,fax_pro,mobile_pro',
'spip_auteurs LEFT JOIN spip_auteurs_elargis USING(id_auteur)',
'id_auteur ='.$id_auteur
);
Me retourne bien login.
Bizarre tout de meme que ce soit que ce champ qui ai posé probléme.
Km