Sql abfrage in Php Seite weigert hartnäckig daten einzutragen.

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

  • Sql abfrage in Php Seite weigert hartnäckig daten einzutragen.

    Sql abfrage in Php Seite weigert hartnäckig daten einzutragen.

    Hallo

    Ich benutze 3 sql Abfragen um meinen Warenkorb in eine sql Tabelle ein zutragen. die erste tun auch das was ich will. Die zweite mach leider nur einen Teil und die dritte macht nur Probleme.

    Die erste soll Session Artikelnr, Anzahl und Preis und Gesamtpreis in eine Tabelle ( Warenkorb ) eintragen.


    PHP-Code:
    <?php
     

      $eintrag 
    "INSERT INTO warenkorb (artikelnr, artikel, session, anzahl, preis, gevk, modelid) Values ('$artikelid', '$artikel','$name','$anzahl','$preis' ,'$anzahl' *'$preis' ,'$modelid' )";
    $eingetragen mysql_query($eintrag);
    ?>
    Die zweite soll die Tabelle Warenkorb Basis mit der Sessionnr füllen. Die beiden Tabellen Warenkorb und Warenkorb_basis sollen über die sessionnr verknüft werden. In der Tabelle Warenkorb kann es ja jederzeit 2 mal die gleiche sessionnr geben. Aber in der Tabelle Warenkorb_Basis darf die sessionnrnur einmal vorkommen.
    ich habe mir gedacht ich löse das in der Tabelle direckt und stelle den Wert des textfeldes Session auf unique.
    Aber da erhalte ich immer eine Fehlermeldung
    ( #1170 - BLOB/TEXT column 'Session' used in key specification without a key length ) . Scheinnbar funktioniert dies nicht mit Textfeldern.
    Also erstellen tut sie die Tabellenzeile mit Sessionnr. aber wie kann ich verhindern. das sie mehrmals eingetragen wird.

    PHP-Code:
    <?php
     

     $eintrag2 
    "INSERT INTO warenkorb_basis ( Session ) Values ('$name')";
    $eingetragen2 mysql_query($eintrag2);
    ?>
    und die dritte Macht überhaupt nicht was sie soll

    PHP-Code:
    <?php
     

      $eintrag3 
    "UPDATE warenkorb_basis set netto = (SELECT SUM(warenkorb.gevk) FROM warenkorb WHERE session ='$name';";
      
    $eingetragen3 mysql_query($eintrag3);
    ?>
    Da fällt mir noch nichtmal ein woran es liegen könnte

    Ach so, ich muss dazusagen ich bin absoluter Anfänger und hangel mich so durch.

    gruss Micha
    Zuletzt geändert von hippo21; 18.06.2016, 09:18.

  • #2
    1. Problem gelöst

    Doppelte bei insert anweisung

    Problem
    Datenbank lässt kein Unique für textfeld zu. Es entsteht folgende fehlermeldung:
    #1170 - BLOB/TEXT column 'Session' used in key specification without a key length

    Lösung:
    Feld auf statt auf text auf varchar umstellen und länge angeben ( ich habe 30 Zeichen angegeben ) .

    und schon ist es nurnoch ein Problem

    Grus Micha

    Kommentar


    • #3
      Wenn du absoluter Anfänger bist, dann tu dir bitte selbst einen Gefallen und verabschiede dich von den mysql_-funktionen so schnell, wie du sie kennengelernt hast!

      Alternativen findest du in meiner Signatur.
      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
      Schön - etwas Geschichte kann ja nicht schaden.
      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

      Kommentar

      Lädt...
      X