Problem beim Auslesen MySQL row[?]

Ich habe 3 Tabellen, von denen 2 die Spalte „Art“ enthalten. Wenn ich nun diese 3 Tabellen verbinde:

SELECT \* FROM `charakter` AS A LEFT JOIN `waff` AS B ON A.Inventar=B.Name LEFT JOIN `ausr`AS C ON A.Inventar=C.Name WHERE A.Inventar='meinInventar' LIMIT 1;

dann kommt das Ergebnis heraus, was ich auch suche und zwar sieht es dann folgendermaßen aus:

ID | Inventar | ID | Name | Art | ID | Name | Art | Gewicht

Ich benötige davon eigentlich nur „Art“ und zwar beide…
Wie kann ich per row[] die Art auslesen? Also row[Art von B] und row[Art von C]?

Hi,

leg dir doch das Ergebnis als Array an.

Dann kannst Du einfach mit

$array = mysql\_fetch\_array(mysql\_query($sql));
$art\_b = $array[4];
$art\_c = $array[7];

das Ergebnis auslesen.

Grüße,
Kerstin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

das ist ja auch unfug, gleicher titel für 2 verschiedene felder

besser du machst so

SELECT 
A.ID as CharakterID,
A.Inventar as CharakterIventar, 
B.ID as WaffenID, 
B.Name as WaffenName,
B.Art as WaffenArt,
C.ID as AusruestungID,
C.Name as AusruestungName,
C.Art as AusruestungArt 
FROM `charakter` AS A LEFT JOIN `waff` AS B 
ON 
A.Inventar=B.Name LEFT JOIN `ausr`AS C 
ON
A.Inventar=C.Name WHERE A.Inventar='meinInventar' 
LIMIT 1;

dann kann man die zeile auch so abrufen

$row[WaffenArt]." - "$row[AusruestungArt];

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo mayhem,

SELECT * ist eine furchtbar schlechte angewohnheit. Es ist nicht nur etwas langsamer, es fuehrt auch - wie in deinem Fall - zu Verwirrungen und - was noch schwerwiegender ist - zu erhoetem Speicherbedarf, da oft mehr Spalten selektiert werden (und im Speicher gehalten werden muessen) als eigentlich noetig sind.
Beim SELECT daher unbedingt die Spaltennamen angeben!

Wie das in deinem Fall aussehen kann hat RakonDark schon im vorherigen Post geschrieben.

Gruesse
Stefan

Wäre etwas zu viel beim Zerflücken… Aber die Variante von RakonDark gefällt mir gut. Danke.

PS: 2 Gleiche Spaltennamen in zwei verschiedenen Tabellen… Aber das war nicht meine Idee *g*

Danke für eure Hilfe!

PS: 2 Gleiche Spaltennamen in zwei verschiedenen Tabellen…
Aber das war nicht meine Idee *g*

ne aber ich meinte auch eher die ausgabe :smile: is ja denkbar ungeeignet für ein assiziatives array :smile: