WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   [php/mysql] Nach join doppelte id's unterscheiden (http://www.wcm.at/forum/showthread.php?t=114630)

paux 06.11.2003 14:01

[php/mysql] Nach join doppelte id's unterscheiden
 
Hallo,

Wenn 2 Tabellen gejoint werden, wo eine sozusagen Master ist und eine Slave, wobei die Slave nicht für alle ID's vom Master Einträge hat, wie kann ich beim mysql_fetch_array die zwei id's unterscheiden?

Also "SELECT master.id,slave.id FROM master LEFT JOIN slave ON master.id=slave.id" ergibt sowas:
Code:

+--+----+
|id|id  |
| 1|  1|
| 2|NULL|
| 3|NULL|
| 4|  4|
|..|....|
+--+----+

Und jetzt hab ich eben im Array die zwei id's, wobei nur eine davon brauchbar ist. $datensatz['id'] liefert jetzt die falsche Spalte.

Das Problem ergibt sich nämlich durch einen Transfer auf anderen Rechner (andere PHP Version, andere MySQL version), und ich hab keine Ahnung ob das an der Konfig liegen kann. Ein Editieren aller Skripte wäre Wahnsinn.

Bitte um Hinweise!

lg paux

paux 06.11.2003 14:37

Ich hab festgestellt, das tritt nur auf, wenn ein "SELECT *" mit einem LEFT JOIN kombiniert wird. Ich konnte es jetzt lösen, indem ich jedes "SELECT *" änderte auf "SELECT *,master.id AS id"

Trotzdem würde mich interessieren, warum es jetzt geht. Nicht daß das jetzt wieder Zufall ist.

lg paux

sagi 06.11.2003 17:18

Ich bin mir nicht sicher, ob ich dein Problem richtig verstanden habe, aber:

Code:

"SELECT *,master.id AS id"
warum schreibst du nicht einfach AS master ... dann koenntest du die 2 Spalten auseinander halten

mfg

c.

paux 07.11.2003 11:06

Zitat:

Original geschrieben von sagi
warum schreibst du nicht einfach AS master ... dann koenntest du die 2 Spalten auseinander halten
Weil ich sonst in zig Scripten Variablen umändern muß.
Um genau zu sein, wären die Scripte von mir und daher nicht so chaotisch, wäre das eine Option gewesen.

lg paux


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:28 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag