Abfrage Problem aus 2 Tabellen
Dieter
- datenbank
0 Tobias Kloth0 Dieter0 Tobias Kloth0 Dieter0 Dieter0 Ilja0 Tobias Kloth
Nabend,
ich habe folgendes Problem ich brauche aus der Tabelle art den art_name
Der Bezug wird über a_nr hergstellt die in pos und art steht.
Nur ich bekomme mit meiner Abfrage einen SQL Fehler:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
SELECT a_nr, preis, menge, art_name
FROM
pos
art
WHERE
best_nr = '$best_nr'
Wenn ich es mit LEFT JOIN versuche geht es auch nicht?
SELECT a_nr, preis, menge, art_name
FROM
pos
LEFT JOIN art ON pos.a_nr = art.a_nr
WHERE
best_nr = '$best_nr'
Ich verstehe das irgendwie nicht? Was ist ab der Abfrage falsch?
Gruß Dieter
Hallo Dieter,
Nur ich bekomme mit meiner Abfrage einen SQL Fehler:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
was sagt mysql_error()?
Grüße aus Nürnberg
Tobias
was sagt mysql_error()?
mysql_error = MySQL Fehler
Aber ich finde keinen Fehler deswegen poste ich ja hier ins Forum!
Hallo Dieter,
was sagt mysql_error()?
mysql_error = MySQL Fehler
nein, mysql_error() ist eine php-Funktion (->http://de3.php.net/mysql_error) mit der du die mysql-Fehlermeldung bekommst (die idR aussagekräftiger ist als die Fehlermeldung von php).
Grüße aus Nürnberg
Tobias
Hallo!
das war mir auch schon vorher bekannt danach habe ich auch nicht gefragt. Die Frage ist wo der Fehler ist um meine gewünschte Ausgabe zu bekommen.
Ohne ART_NAME kommt kein Fehler und es wird alles ausgegeben aber ich brauche wie schon beschrieben auch nich den ART_NAME nur ich weiß nicht wie ich darauf zugreifen soll? Ich habe irgendwo ein Abfrage Logik-Fehler aber wo?
Wie schon gesagt war es blödsinn was Du gesagt hast die Lösung ist folgende:
SELECT pos.a_nr, preis, menge, art_name
FROM
pos
LEFT JOIN art ON pos.a_nr = art.a_nr
WHERE
best_nr = '$best_nr'
yo,
meiner meinungnach hat er keinen blödsinn gefragt, sondern die fehlermeldung von mysql_error() solte grundsätzlich mit angegeben werden.
um auf deinen fehler in der ersten abfrage ohne left join zurückzukommen, es fehlt das komma zwischen den beiden tabellen.
---> ....FROM pos, art....
Ilja
Hallo Dieter,
Wie schon gesagt war es blödsinn was Du gesagt hast die Lösung ist folgende:
nein, das war überhaupt kein Blödsinn:
SELECT pos.a_nr, preis, menge, art_name
mysql_error hätte dir vermutlich sowas wie "Column: 'a_nr' in field list is ambiguous" ausgespuckt, aber wenn du derart beratungsresistent bist ...
Grüße aus Nürnberg
Tobias