Problem bei multipler MySQL-Abfrage

philishake

javascript enthusiast
Hey Leute,

ich hab angefangen alle MySQL-Abfragen zusammenzufassen. Bei fast allen klappt das auch super, bis auf diesen Sonderfall. Vielleicht könnt ihr mir ja helfen.

PHP:
$sql = "SELECT $repart FROM acb,acbe WHERE acb.Nick='$nicki' AND acbe.Nick='$nicki'";
$result = mysql_query($sql) OR die(mysql_error());
if(mysql_num_rows($result)) 
{
     while($row = mysql_fetch_assoc($result)) 
     {
	$b_stufe = $row[acb.$repart];
	$b_energie = $row[acbe.$repart];
     }
			}

Vielen Dank!
 
Hallo,

probier mal:

PHP:
SELECT $repart 
FROM acb
join acbe on (acb.Nick = acbe.Nick) 
WHERE acb.Nick='$nicki'
 
Das Problem ist eigentlich nicht die Abfrage selbst, sonder unten die Art, wie ich die Werte beziehe. Das klappt ja nicht. Sprich diese Zeilen:

PHP:
$b_stufe = $row[acb.$repart]; 
$b_energie = $row[acbe.$repart];
 
Hi,

was steht denn in $repart? Welche Spalten werden ausgewählt?
Du könntest testhalber in die while-Schleife ein

PHP:
print_r($row); 
exit;

setzen, dann weisst Du, wie der Aufbau ist.

LG
 
Das Problem ist das in beiden Tabellen, acb und acbe, die Spalte "hq" existiert. Und wenn ich einfach nur mache

PHP:
$Variable1 = $row[hq];
$Variable2 = $row[hq];

dann habe ich das Problem, dass er nicht weiß welche Tabelle ich meine und er folgenden Fehler anzeigt:

PHP:
Column 'hq' in field list is ambiguous

Wenn ich aber folgendes Probiere gibt es keinen Fehler, aber die Variablen sind leer:

PHP:
$Variable1 = $row[acb.hq];
$Variable2 = $row[acbe.hq];

Versteht ihr was ich meine?
Ich meine, ich könnte auch zwei separate Abfragen machen, so hatte ich das früher aber ich wollte Platz sparen und den QC optimieren.
 
Hi,

dann vergib Aliase:

SQL:
SELECT acb.hq as hq1, acbe.hq as hq2 FROM acb,acbe WHERE...

Dann bekommst Du $row['hq1'] und $row['hq2'].

LG
 
Zuletzt bearbeitet von einem Moderator:
Zurück