Я пытаюсь вставить конкретное значение в таблицу MySQL, но всякий раз, когда я делаю это, возникает ошибка, и я не могу вставить ее. Проследив это, я заметил, что запросы могут быть вставлены, только если все объекты заданы или все объекты будут объявлены. Как я могу решить эту проблему с помощью кода PHP?
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**/
item_name
поле в вашей таблице объявлено как not null
без значения по умолчанию. Одним из подходов было бы поставить его в свой insert
Заявление так же, как вы предоставляете количество.
Другой подход заключается в изменении определения таблицы, чтобы либо null
s:
ALTER TABLE itemlist MODIFY COLUMN item_name VARCHAR(10) NULL;
или иметь значение по умолчанию:
ALTER TABLE itemlist ALTER item_name SET DEFAULT 'somename';
Других решений пока нет …