現在、私は持っているそれスルー出力はどのように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
)
は私がしたいときは、次のように見える3つの配列(項目、顧客、アドレス)を持つネストされた配列各要素値がそれぞれのフィールドに属する1つのテーブルにこのデータを挿入します。
現在私の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インジェクション攻撃のコードで座っています。 ** ALL **ユーザーから提出されたデータは、ユーザーがゴミ/迷惑メール/迷惑メールをデータベースに送信しようとしていないことを確認するために常に**検証されるべきです。また、使用しているmysql_ *拡張機能はPHPのバージョン7から**削除**されました。最後に、ユーザーから提出されたデータが検証されたら、準備された書類が常に使用されるべきです** – SpacePhoenix