Dieter: Abfrage Problem aus 2 Tabellen

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

  1. 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

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
    1. was sagt mysql_error()?

      mysql_error = MySQL Fehler

      Aber ich finde keinen Fehler deswegen poste ich ja hier ins Forum!

      1. 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

        --
        Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
        1. 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?

          1. 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'

            1. 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

            2. 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

              --
              Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|