Page 1 sur 1

Accéder à table.champs dans une requête

Posté : 27 juil. 2011, 14:27
par Tox
Bonjour, j'ai un soucis avec une requête et je ne sais pas comment formuler mes phrases de recherche du coup je suis venu chercher de l'aide :)

Admettons que j'ai 3 tables Dossier, Client et Debiteur.
Dossier
-id
-client
-debiteur

Client
-id
-raisonsociale

Debiteur
-id
-raisonsociale
Ma requête est :
$req = SELECT * FROM dossier INNER JOIN client ON client_id = client.id INNER JOIN debiteur ON debiteur_id = debiteur.id;

...

$enreg = $rs->fetch_object();

ou

$enreg = $rs->fetch_assoc();
Et là j'aimerais pouvoir faire ça mais ça ne marche pas :
echo $enreg["debiteur.raisonsociale"];

echo $enreg["client.raisonsociale"];
Car

Re: Accéder à table.champs dans une requête

Posté : 28 juil. 2011, 02:53
par devlop78
Profite de tes reflexions pour te mettre à jour avec mysqli ou PDO, et active les erreurs, affiche les, faires des var_dump() sur les variables, et donne nous plus de données pour que l'on puisse te répondre.

Re: Accéder à table.champs dans une requête

Posté : 29 juil. 2011, 11:22
par Tox
Bonjour, j'ai éditer le premier post en expliquant mieux mon problème.

Comme les champs de Client, et de Debiteur ont les mêmes noms, la requête ne récupère que les derniers appelés....

Re: Accéder à table.champs dans une requête

Posté : 29 juil. 2011, 14:09
par devlop78
C'est à toi de les renommer explicitement

SELECT Client.id AS Client_id, ... FROM ...

MySQL ne préfixe pas par défaut le nom des colonnes de résultat par le nom de la table. Je ne sais même pas si on peut lui demander.

Re: Accéder à table.champs dans une requête

Posté : 30 juil. 2011, 00:34
par Tox
C'est embêtant...

Est-il préférable de préfixer mes champs directement dans ma table ?
Client
-client_id
-client_raisonsociale
Ou alors de les aliaser dans ma requête
SELECT Client.id AS Client_id, ... FROM ...