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

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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
    Last edited by 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

    Comment


    • #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!

      Comment

      Working...
      X