2017-02-07 2 views
-1

Ich habe eine Tabelle Liste der Zutaten, die etwa 5-6 Werte wie Kosten, Speicher, Verpackung, Menge, ect hat.php & mysql: Echo-Tabelle Werte können nicht wieder eingefügt werden?

Ich Echo dann die Daten aus den Tabellen in einem Dropdown-Menü, so dass sie auswählbar sind. Wenn ich sie jedoch aktualisiere oder neu in eine neue Tabelle einfüge, erhalte ich eine Fehlermeldung, die besagt, dass die Kosten nicht standardmäßig sind, obwohl dies der Fall ist.

Also im Grunde, was passiert ist, ist mein Dropdown-Menü NICHT der Datenbankwert selbst, wenn es Zeit ist, es zu verwenden, um es in eine neue Tabelle zu aktualisieren. Sein Stringified und sein Wert ist völlig neu. Gibt es eine Möglichkeit, dies zu verhindern, und mysql oder PHP mitzuteilen, dass ich die Datenbankwerte haben möchte, die ich ursprünglich eingefügt habe, wenn sie ausgewählt sind, und nicht eine stringierte Version davon?

<select name="ingredients_list" placeholder="Ingredients"> 
<option disabled selected value> -- select an ingredient -- </option> 
<?php 
    $sql = "SELECT item, store 
      FROM ingredients 
      ORDER BY item"; 
    $result = $conn->query($sql); 

if ($result->num_rows > 0) { 
    while($col = $result->fetch_assoc()) { 
     echo "<option>" . $col['item'] . " (" . $col['store'] . ") " . "</option>"; 
    } 
} 
    ?> 

Fehlermeldung:

Error: INSERT INTO meal_ingredients (meal_name, item) VALUES ('turkey', 'Bacon (Lidl)') 
Field 'package' doesn't have a default value 

es hat einen Wert hat, aber es ist es nicht verwenden, weil sein die Zeichenfolge „Speck“ von der Drop-Down, anstatt die Daten auf der Datenbank selbst.

+1

müssen Sie bei Ihrer Anfrage für einen Start nicht ausgeführt haben .. – Option

Antwort

0

Sie versuchen, nur einen Teil der Werte für die Tabellenspalten .. eine dieser Spalte package Namen einzufügen haben eine nicht null Constraints so der Teileinsatz

INSERT INTO meal_ingredients (meal_name, item) VALUES ('turkey', 'Bacon (Lidl)') 

nicht diese

beschränken respektieren

könnten Sie

INSERT INTO meal_ingredients (meal_name, item,package) 
     VALUES ('turkey', 'Bacon (Lidl)', 'my_package_value') 
Verwandte Themen