SQL Fehler

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

  • #16
    so habe nun den $_SESSION['nummer'] in $nummmer
    umgeändert und immer noch folgenden fehler
    select name, preis, anzahl from artikel, warenkorb where
    warenkorb.kundennummer= and artikel.id=
    warenkorb.artikelid
    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
    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) {

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

    }

    else 

    {

    echo 
    $sql ="insert into warenkorb 
    (anzahl, artikelid, kundennummer) values (1, 
    $id$nummer )"

    }

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

    }

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

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

    ?>
    hier nochmals der php code ich weiß ist bestimmt nur
    eine kleinigkeit die ich übersehe
    Zuletzt geändert von marionsteck; 29.08.2006, 21:59.

    Kommentar


    • #17
      $nummer ist immer noch leer.
      Das erste SELECT COUNT(*) geht trotzdem, dank '...'.

      weil ausserdem $_GET['id'] leer ist, werden UPDATE und INSERT nicht gemacht.
      (sonst würde es dort einen fehler geben).

      Du hast auch noch ein Durcheinander bezüglich $id und $_GET['id'];
      aber es scheinen überhaupt alle Variabeln leer zu sein.

      Wie wird dein php-skript aufgerufen?
      Zuletzt geändert von aasejh; 29.08.2006, 22:11.

      Kommentar


      • #18
        hier meine artikel php
        PHP-Code:
        <?php
                
        include("dbconnect.php");

                
        $sql "SELECT
                bestellid,
                         name,
                         preis,
                         bestand
                         FROM
                                 artikel
                         ORDER BY
                                 name ASC;"
        ;

                 
        $result mysql_query($sql) or die(mysql_error());
        ?>
        <html>
        <head><title>Artikelseite</title></head>
        <body>
        <h1>Artikelliste</h1>
        Folgende Artikel können Sie bestellen
        <table cellspacing=2 cellpadding=4 border=0>
        <tr bgcolor="orange">
        <th>Artikel</th><th>Preis</th><th>Bestand</th><th></th>
        </tr>
        <?php
                
        while ($row mysql_fetch_assoc($result))
                 {
                         print 
        "<tr bgcolor='#cccccc'>";
                         print 
        "<td>".$row['name']."</td><td>".$row['preis']." Euro</td>";
                         print
        "<td>".$row['bestand']."</td>";
                         print 
        "<td><a
                         href='warenkorb.php?id="
        .$row['id']."'>".
                         
        "bestellen</a></td>";
                         print
        "</tr>";
                 }
        ?>
        </table>
        <p><a href="warenkorb.php">Zum Warenkorb</a></p>
        </body>
        </html>
        http://www.fernstudium.stecknet.de/P...st/artikel.php

        Kommentar


        • #19
          (1) Es hat zwei Aufrufe von warenkorb.php (das hättest Du schreiben müssen).

          Aber in beiden Aufrufen wird $nummer nicht gesetzt. Vermutlich ist auch $_SESSION['nummer'] nirgendswo gesetzt, dh die Kundennummer. Eventuell fehlt das session_start(); als die erwähnte Kleinigkeit ?

          Im Aufruf wird $_GET['id'] gesetzt, und via register_globals ergibt sich daraus
          auch $id.

          (2) Dann ist es nicht zweckmässig,
          echo $sql = "..." zu schreiben.
          Viel sinnvoller ist
          $sql="...";
          echo $sql;

          (3) Es muss noch irgendwo ein login.php haben, welches $_SESSION['nummer'] setzt, wovon Du noch nichts geschrieben hast. Dann braucht es noch das schon erwähnte session_start(); in jedem script.

          Das sind aber alles Details. Du müsstest mal mit einem Papiercomputer (Block und Schreibzeug) deine kleinen Skripts durchspielen, oder mit sehr vielen echo an allen möglichen Stellen, um den Ablauf zu erleben.

          PS @all das register_globals machen wir später, wenn sie mal session_start() drinn hat , was vom Lehrer nicht angegeben wurde...
          Zuletzt geändert von aasejh; 29.08.2006, 22:35.

          Kommentar


          • #20
            eine dumme frage welches login meinst du
            das um auf die datenbank zu kommen??
            ich bin anfänger daher die fragen

            Kommentar


            • #21
              um es zu verdeutlichen: aus dem vorangehenden scheint das session_start(); zu fehlen am Anfang von warenkorb.php und artikel.php und eventuell von "login".php oder wie das heisst.

              Kommentar


              • #22
                wo oderwoher wird die kundennummer eingegeben (variable $_SESSION['nummer'] oder $nummer)

                Auch wenn Du Anfänger bist, solltest Du dein selbstgeschriebenes Skript kennen.

                Kommentar


                • #23
                  hab nun die session_start(); eingefügt aber wo und wie muß ich die nummer eintragen

                  Kommentar


                  • #24
                    die kundennummer soll automatisch eingetragen werden

                    Kommentar


                    • #25
                      Das ist dein Problem: wo der Kunde, dessen Warenkorb behandelt wird, sich anmelden kann. und wo im skript dann seine kundennummer in $_SESSION['nummer'] geht. Schaust mal im Lerntext nach.

                      Inzwischen schreibst Du einfach überall $_SESSION['nummer'] = $nummer = 1;

                      Kommentar


                      • #26
                        danke habe es nun mal geändert geht aber leider immer noch nicht
                        ich stehe wohl grade total auf dem schlauch

                        Kommentar


                        • #27
                          Schaust mal im Lerntext nach und falls dort nichts steht, ist das Problem ungenügend gestellt.

                          Falls das Problem selbstgestellt ist, schlafst du mal darüber und suchst dir morgen ein tutorial. Das Kundenanmelden wird noch zu schaffen sein.

                          Kommentar


                          • #28
                            Original geschrieben von aasejh
                            egal, dann war es halt die wääääh säge.
                            OffTopic:
                            Warum bleibst du nicht endlich mal bei einem Nick, wieso muss es jeden Tag ein neuer sein?

                            Das ist für jeden, der gerne ein wenig wüsste, mit wem er's zu tun hat, äußerst lästig. Also lass es doch bitte einfach.
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar

                            Lädt...
                            X