В настоящее время у меня есть вложенная массив, имеющая три массивов (пункты, клиент, адрес), который выглядит следующим образом, когда он выводится черезКак вставить вложенный массив данных в MySQL с помощью PHP
print_r($_POST);
Array
(
[items] => Array
(
[0] => Array
(
[item_id] => 1
[item_price] => 2
[quantity] => 11
)
[1] => Array
(
[item_id] => 12
[item_price] => 13
[quantity] => 14
)
[2] => Array
(
[item_id] => 13
[item_price] => 14
[quantity] => 15
)
[3] =>; Array
(
[item_id] => 16
[item_price] => 17
[quantity] => 18
)
[4] => Array
(
[item_id] => 18
[item_price] => 38
[quantity] => 38
)
)
[customer] => 111
[address] => 171
)
Я хотел бы вставьте эти данные в одну таблицу с каждым значением элемента, принадлежащим соответствующему полю.
В настоящее время мой PHP код выглядит следующим образом
if(is_array($_POST)){
foreach($_POST as $key => $value){
$item_id = (int) $value['item_id'];
$item_price = (int) $value['item_price'] ;
$quantity = (int) $value['quantity'] ;
$sql = "INSERT INTO orderItems(item_id, item_price, quantity) values ('$item_id', '$item_price', '$quantity')";
mysql_query($sql) or exit(mysql_error());
}
}
это не работает должным образом. Я новичок в этом. Может ли кто-нибудь помочь?
Вы - сидящая утка с этим кодом для атак SQL Injection, поскольку представленные пользователем данные даже не сбежали! ** ВСЕ ** пользовательские данные должны быть подтверждены ** ВСЕГДА **, чтобы убедиться, что пользователь не пытается отправить мусор/нежелательный/спам в базу данных. Также расширение mysql_ *, которое вы используете, было ** удалено ** из версии 7 PHP. Наконец, как только данные, представленные пользователем, были подтверждены, подготовленный стат должен использовать ** ВСЕГДА ** использовать – SpacePhoenix