2016-05-23 14 views
0

Ich versuche, einen bestimmten Wert in eine MySQL-Tabelle einzufügen, aber immer wenn ich dies tue, ist ein Fehler aufgetreten und kann nicht eingefügt werden. Als ich es nachverfolgte, bemerkte ich, dass die Abfragen nur eingefügt werden können, wenn alle Entitäten angegeben sind oder alle Entitäten deklariert werden. Wie kann ich das mit PHP-Code beheben?Einfügen einer bestimmten Abfrage in die Tabelle

if (isset($_POST['submit'])) { 
    $rec_qty=$_POST['rec_qty']; 
    $id=$_POST['item_id']; 

    for($i=0; $i < count($_POST['rec_qty']);$i++) { 
     $sql = mysqli_query($conn,"INSERT INTO itemlist (quantity) values('".$_POST['rec_qty'][$i]."') ") or die ("Error description: " . mysqli_error($conn)); 

     $update = "$conn,UPDATE itemlist set quantity='$quantity' where item_id='$id'"; 

     if($sql) { 
      header("Location: received_item.php?attempt=success"); 
     } else {   
      header("Location: received_item.php?attempt=empty"); 
     } 
    } 

/**Error description: Field 'item_name' doesn't have a default value**/ 
+2

Können Sie Ihre SQL schreiben und Ihre Fehler für alle log sehen? – Muymuy1

+0

Bitte fügen Sie Code und Fehlerprotokoll – Nehal

+0

Codes geschrieben..danke –

Antwort

2

Das item_name Feld in der Tabelle als not null ohne Standardwert deklariert. Ein Ansatz wäre, es in Ihrer insert Anweisung in der gleichen Weise zu liefern, wie Sie die Menge bereitstellen.

Ein anderer Ansatz wäre die Tabellendefinition zu ändern, entweder erlauben null s:

ALTER TABLE itemlist MODIFY COLUMN item_name VARCHAR(10) NULL; 

oder einen Standardwert zu haben:

ALTER TABLE itemlist ALTER item_name SET DEFAULT 'somename'; 
+0

in der Tat wurde es als nicht null erklärt, da es eine Beziehung zwischen 2 Tabellen gibt. Ich versuche, das gleiche Feld zu übergeben, aber nur die Menge wird ändern .. zum Beispiel im Auftrag 500doz und ich nur 450, so 450 wird der neue Wert für meine Menge sein. –