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.
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.
und die dritte Macht überhaupt nicht was sie soll
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
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);
?>
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);
?>
PHP-Code:
<?php
$eintrag3 = "UPDATE warenkorb_basis set netto = (SELECT SUM(warenkorb.gevk) FROM warenkorb WHERE session ='$name';";
$eingetragen3 = mysql_query($eintrag3);
?>
Ach so, ich muss dazusagen ich bin absoluter Anfänger und hangel mich so durch.
gruss Micha
Kommentar