mySQL Fehler mit SELECT und INSERT

haarharry

Grünschnabel
Hi Leute,
hab ein Problem mit ner SELECT-Abfrage und nem INSERT. Ich möchte eine Tabelle checken ob sie einen Inhalt hat wenn nein kommt ein INSERT wenn ja wird die Stückzahl aktualisiert.
mein tabel warenkorb:
aid->int(7) autoincrement primaryKey
stueckzahl->int(7)
user_id->varchar(40);

PHP:
//ware dem warenkorb hinzufügen
if (isset($warehinzu)){
  $sql = "SELECT count(*) as zahl from warenkorb where aid = ". $warehinzu ."";
  $zeige = mysql_query($sql);
  $ergebnis= mysql_fetch_array($zeige, MYSQL_ASSOC);
//wenn es ihn noch nicht gibt
if ($ergebnis["zahl"]==0){
  $sql3 = "INSERT INTO warenkorb (aid, stueckzahl, user_id) values (". $warehinzu. ", 1, '$sid')";
  mysql_query($sql3);
  print "Artikel wurde dem Warenkorb hinzugefügt";
}
//wenn es ihn gibt
else{
  $sql="UPDATE warenkorb set stueckzahl=stueckzahl+1 where aid=".$warehinzu."";
  mysql_query($sql);
  print "Artikel wurde aktualisiert";
  exit();
 }
}
kann mir bitte jemand sagen wo der Fehler ist ;-]
 
Könntest du vielleicht mal kurz sagen oder beschreiben, was nicht geht, was er aber eigentlich machen sollte !?
 
oder kann mir vielleicht jemand helfen und mir schreiben warum die
Abfrage:
PHP:
if (isset($warehinzu)){
  $sql = "SELECT count(*) as zahl from warenkorb where aid = ". $warehinzu ."";
  $zeige = mysql_query($sql);
  $ergebnis= mysql_fetch_array($zeige, MYSQL_ASSOC);

aid ist zb 2
 
aid ist bei dir ein Increment Feld also wird es nur einen Eintrag geben
wenn du versuchst einen 2. Datensatz anzulegen wird ein Fehler von mySql zurückkommen

Was ich aus dem bisherigen Code schliessen kann, musst du mit der user_id arbeiten

ansonsten findet man Sql Fehler so:

mysql_query($sql3) or die(mysql_error());
 
Zurück