SQL Fehler

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

  • SQL Fehler

    Hallo zusammen,

    bekomme folgende SQL Fehlermeldung

    You have an error in your SQL syntax.
    Check the manual that corresponds to
    your MySQL server version for the right
    syntax to use near
    'and artikel.id=warenkorb.artikelid' at line 1

    Kann aber leider keinen Fehler finden.
    Anbei meine warenkorb.php wo der Fehler auftritt
    PHP-Code:
    <?php

    include ("dbconnect.php"); 

    $anzahl "select count(*) as anzahl from 
    warenkorb where kundennummer=
    '
    $nummer' and artikelid='$id'";

    $erg mysql_query($anzahl) or die(mysql_error());

    $bestellt mysql_fetch_array($erg);

    if(!empty(
    $_GET['id'])) 

    {

    if(
    $bestellt['anzahl']>0) {

    $sql ="update warenkorb set 
    anzahl=anzahl+1 where kundennummer=
    $nummer and artikelid=$id"

    }

    else 

    {

    $sql ="insert into warenkorb 
    (anzahl, artikelid, kundennummer)
    values (1, 
    $id, ".$_SESSION['nummer']." )"

    }

    mysql_query($sql) or die (mysql_error()); 

    }

    $sql "select name, preis, anzahl from 
    artikel, warenkorb where warenkorb.kundennummer=
    "
    .$_SESSION['nummer']." and 
    artikel.id=warenkorb.artikelid"
    ;

    $result mysql_query($sql) or die (mysql_error());

    ?>

    <html>

    <head><title>Bestellseite</title></head>

    <body>

    <h1>Warenkorb</h1>

    <a href="bestellung.php">Bestellen</a><br>

    <p>Folgende Artikel liegen im Warenkorb</p>

    <table cellspacing=2 cellpadding=4 border=0>

    <tr bgcolor="orange">

    <th>Artikel</th><th>Preis</th><th>Anzahl</th>

    </tr>

    <?php

    while($row mysql_fetch_assoc($result))

    {

    print 
    "<tr bgcolor='#cccccc'>";

    print 
    "<td>".$row['name']."</td>";

    print 
    "<td>".$row['preis']." Euro</td>";

    print 
    "<td>".$row['anzahl']."</td>";

    print 
    "</tr>";

    }

     

    ?>

    </table>

    <p><a href="artikel.php">Zurück zur Artikelseite</a></p>

    </body>

    </html>
    Im Anhang Screenshoots meiner 3 SQL Tables.
    Hoffe mir kann jemand weiterhelfen.
    Ihr findet die komplette abfrage unter
    http://www.fernstudium.stecknet.de/P...st/artikel.php

    Gruß Marion
    Zuletzt geändert von marionsteck; 29.08.2006, 22:01.

  • #2
    Re: SQL Fehler

    Lass dir die generierten Query-Strings zur Kontrolle ausgeben.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      wie lasse ich mir die query strings ausgeben
      bin noch anfänger

      Kommentar


      • #4
        mit echo.

        und brich mal deinen Code um, wie es in unseren Regeln steht.

        Kommentar


        • #5
          wenn ich anstatt print echo angebe kommt immer noch folgende fehlermeldung
          You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'and artikel.id=warenkorb.artikelid' at line 1
          hier wie ich es mit echo geändert habe
          PHP-Code:
          <?php

          while($row mysql_fetch_assoc($result))

          {

          echo 
          "<tr bgcolor='#cccccc'>";

          echo 
          "<td>".$row['name']."</td>";

          echo 
          "<td>".$row['preis']." Euro</td>";

          echo 
          "<td>".$row['anzahl']."</td>";

          echo 
          "</tr>";

          }

           

          ?>
          oder muß das echo woanderes eingfügt werden

          Kommentar


          • #6
            wie wäre es mit:
            PHP-Code:
            echo $sql
            dein code ist immer noch zu breit.
            Kissolino.com

            Kommentar


            • #7
              habe noch immer folgende fehlermeldung
              select name, preis, anzahl from artikel, warenkorb where warenkorb.kundennummer=
              and artikel.id=warenkorb.artikelidYou have an error in your SQL syntax.
              Check the manual that corresponds to your MySQL server version for the right syntax to use
              near 'and artikel.id=warenkorb.artikelid' at line 1

              im anhang mein warenkorb table

              danke und gruß
              Angehängte Dateien

              Kommentar


              • #8
                $_SESSION['nummer'] ist leer.

                vermutlich würde es reichen, statt $_SESSION['nummer'] entweder
                -$nummer wie anderswo auch
                -oder $_GET['nummer'] oder $_POST['nummer'] zu schreiben.

                Du könntest das echo $sql selber angeschaut haben, es ist nicht Fehlermeldung, sondern das davor:
                select name, preis, anzahl from artikel, warenkorb where warenkorb.kundennummer=
                and artikel.id=warenkorb.artikelid

                Kommentar


                • #9
                  dein Apostrophhandling ist auch nicht in Ordnung.
                  Im ersten SELECT hat deine Vorlage, beziehungsweise dein Fernlehrer um die Werte je ein '...' gesetzt, aber in den
                  nachfolgenden SELECT INSERT UPDATE sind die Werte dann ohne '...' .
                  Sogar die $nummer und $id sind zuerst mit '..', dann im UPDATE ohne '...';

                  Am besten sorgst Du an allen Stellen für '...' , dann stimmt es immer.

                  Immerhin hat dein Fernlehrer alle mysql_queries mit die(mysql_error()) gesichert.
                  Ich würde die (mysql_error() . $sql) schreiben, damit das $sql auch mitkommt.

                  weil alle mysql_queries gesichert sind, ist schon klar, dass $nummer anstatt $_SESSION['nummer']
                  das aktuelle Problem löst.
                  Zuletzt geändert von asejha; 29.08.2006, 21:24.

                  Kommentar


                  • #10
                    und wann gedenkst du deinen Code umzubrechen?

                    Kommentar


                    • #11
                      Original geschrieben von TobiaZ
                      und wann gedenkst du deinen Code umzubrechen?
                      wessen Code?

                      Kommentar


                      • #12
                        na der von Fr. Steck, der hier jeden handelsüblichen 19"er (und unsere Regeln) bricht.

                        Kommentar


                        • #13
                          Original geschrieben von TobiaZ
                          na der von Fr. Steck, der hier jeden handelsüblichen 19"er (und unsere Regeln) bricht.
                          Ich denke der ist von seinem /ihrem Fernlehrer.

                          Im übrigen seid ihr bloss neidisch...

                          Kommentar


                          • #14
                            Wohnort: banned by Tobiaz
                            ich wars nicht.

                            Kommentar


                            • #15
                              egal, dann war es halt die wääääh säge.

                              Kommentar

                              Lädt...
                              X