mein Join sieht eigentlich gut aus, aber

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    wie üblich, wird aus einer Mücke wieder mal der ganze Serengeti-Tierpark nachgebildet.

    Kommentar


    • #17
      .....echo 'von Artikel: '.$_GET['id']; werd's mir merken!

      aber vielleicht liegt hier der Hund begraben: (wieder nach Stunden)
      hiermit übergebe ich doch eine GET-Variable, die auch unten mit "15" ausgewiesen wird.
      PHP-Code:
        echo" <td><a href='allelieferanten.php?id=$id'>Lieferanten</a></td>\n";  

            
      denn folgende mysql-abfrage (natürlich ohne $_GET['id']) 
      klappt mit verschiedenen Kontrollen im phpmyadmin.

      SELECT lieferanten.Lieferantenname
      FROM lieferanten
      artikelartikellieferantenlookup
      WHERE artikel
      .ID "33"
      AND AID artikel.ID
      AND LID lieferanten.ID
      LIMIT 0 
      30


      aber
      :
      echo 
      'von Artikel: '.$_GET['id'];
      $select 'SELECT lieferanten.Lieferantenname'
      $from   'FROM lieferanten, artikel, artikellieferantenlookup';
      $where " WHERE artikel.ID = '" mysql_real_escape_string($_GET['id']). "'
                        AND AID = artikel.ID AND LID = lieferanten.ID "
      ;
             


      kommt die Fehlermeldung:

      von Artikel15 WHERE artikel.ID '15' AND AID artikel.ID AND LID lieferanten.ID 

      Error
      You have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version 

      for the right syntax to use near 'WHERE artikel.ID = '15' AND AID = artikel.ID AND LID = lieferanten.I' at line 1 
      Zuletzt geändert von pepsi; 22.07.2006, 16:33.

      Kommentar


      • #18
        Immer noch nicht verstanden, was du da machst?

        wenn du einen SQL-Syntax Fehler erhältst, interessiert uns der PHP code kein Stück. Poste lieber mal die verwendete SQL-Query.

        Kommentar


        • #19
          Der Fehler ist unmittelbar links von der von mysql_error() angegebenen Stelle.

          Ich spekuliere mal, dass es keine Tabelle artikellieferantenlookup gibt, aber schaue nochmal (kann nicht während schreiben), oder du hast die queryteile nicht zusammengehängt.

          PS: Und das oberhalb von Error: waren deine echo-Ausgaben. es sieht soweit gut aus.

          edit: früher hiess es $from = ' FROM lieferanten, lookup, artikel';
          jetzt heisst es: $from = 'FROM lieferanten, artikel, artikellieferantenlookup';
          Das ist doch easy..

          >>>>>>und im $from fehlt jetzt ein Leerzeichen am Anfang, aber dann hätte mysql_error() schon diese Stelle gemeldet.
          Zuletzt geändert von heiss; 22.07.2006, 16:48.

          Kommentar


          • #20
            Der Fehler ist unmittelbar links von der von mysql_error() angegebenen Stelle.
            Übernimm den satz mal in deine Signatur, dann brauchst du nicht immer zu tippen.

            Kommentar


            • #21
              danke erstmal an "alle"
              ich poste hiermit: den versuchten query: (ohne
              PHP-Code:
              ?>
              <table>
              <tr><th>ein oder mehrerer Lieferanten:</th><th></th></tr>

              <?php

              $lieferant 
              =mysql_query $select $from $where);
              if (!
              $lieferant) {
                echo 
              '</table>';
                exit(
              '<p>Fehler bei der Abfrage der Lieferanten!<br/ >'.
                    
              'Error: ' mysql_error() . '</p>');
              }

              while (
              $lief mysql_fetch_array($lieferanten)) {
                echo 
              "<tr valign='top'>\n";
                
              $id $lief['ID'];
                
              $lieferantenname htmlspecialchars($lief['Lieferantenname']);
                echo 
              "<td>$lieferantenname</td>\n";

                echo 
              "</tr>\n";
              }


              ?>

              Kommentar


              • #22
                Falsch! Du postest schon wieder uninteressanten PHP-Code, den hier niemand sehen will. Ich will lediglich die Zeichen sehen, die du an die DB schickst (mit mysql_query);

                Kommentar


                • #23
                  was meinst du?
                  utf8?
                  latin1_general_ci

                  die "Specialchars" sind nur vorsorglich einprogrammiert
                  ich gebe nur normalen Text und Zahlen ein.

                  Kommentar


                  • #24
                    Ich sag doch, dein PHP-Code interessiert hier kein Stück und tut für den Fehler auch nichts zur Sache.

                    Kommentar


                    • #25
                      Was wird da
                      $lieferant =mysql_query ( $select . $from . $where);
                      wirklich an die Datenbank geliefert?!
                      (echo $select.$from.$where; zum Beispiel...)

                      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                      Wie man Fragen richtig stellt

                      Kommentar


                      • #26
                        int(11) für Zahlen
                        und text für Namen

                        meinst du das?

                        Kommentar


                        • #27
                          *omg*

                          Fangen wir für dich mal ganz bei 0 an.

                          da du mit SQL nichts anfangen kannst, versuche ich anhand eines PHP-Codes zu erklären:

                          <?
                          mysql_query('SELECT * FROM TABLE WHERE id > 20');
                          ?>

                          Dieser Code sorgt dafür, dass alle Datensätze mit der ID größer 20 "aus der DB geholt" werden.

                          Wenn jetzt jemand nach der Query (=Anfrage) fragt, die an die DB gesendet wird, würde er als antwot "Die Query lautet 'ELECT * FROM TABLE WHERE id > 20'. erhalten.

                          Meinst du, du kannst uns jetzt eine vernüftige Antwort auf unsere Frage geben.

                          Wie lautet die Query, die du an die Datenbank sendest?

                          Kommentar


                          • #28
                            wenn ich echo $select usw. eingebe
                            (in meiner PHP-Datei nicht wahr?)

                            dann erhalte ich z.Bsp.

                            SELECT lieferanten.LieferantennameFROM lieferanten,
                            artikel, artikellieferantenlookup WHERE artikel.ID = '8'
                            AND AID = artikel.ID AND LID = lieferanten.ID

                            Kommentar


                            • #29
                              ich traue dir zwar noch nicht 100%ig, aber auf den fehler an dieser Stelle "...nameFROM..." (fehlendes lerzeichen vor FROM) wurdest du eben schon hingewiesen.

                              Kommentar


                              • #30
                                von Artikel: 8 SELECT lieferanten.Lieferantenname FROM lieferanten,
                                artikel, artikellieferantenlookup WHERE artikel.ID = '8'
                                AND AID = artikel.ID AND LID = lieferanten.ID

                                Notice: Undefined variable: lieferanten in C:\Programme\xampp\htdocs\home\
                                allelieferanten.php on line 49

                                Ich gehe wohl noch einmal die "lieferanten-Variablen durch"?

                                Kommentar

                                Lädt...
                                X