-2
複数の行のデータを同時にテーブルに挿入する際に問題があります。以下は私が持っているものです。私がsubmitをクリックすると、最後の行だけが量の最初の桁だけで挿入されます。助けてください。PHPを使って複数の行をmysql dbに挿入
HTMLフォーム:
<form method="post" action="insert.php">
<p><input type="text" id="product_id" name="product_id[]"/>
<input type="text" id="quantity" name="quantity[]"/></p>
<p><input type="text" id="product_id" name="product_id[]"/>
<input type="text" id="quantity" name="quantity[]"/></p>
<p><input type="text" id="product_id" name="product_id[]"/>
<input type="text" id="quantity" name="quantity[]"/></p>
<input type="submit" name="submit" value="submit"/>
</form>
insert.phpページ:
<?php
include 'config/auth.php';//database connection
if(isset($_POST['submit'])){
$product = mysqli_real_escape_string($dbc, $_POST['product_id']);
$quantity = mysqli_real_escape_string($dbc, $_POST['quantity']);
$count = sizeof($product);
for ($i=0; $i < $count; $i++) {
$Inproduct = $product[$i];
$Inquantity = $quantity[$i];
$query = "INSERT INTO sales (product_id, quantity) VALUES ('$Inproduct','$Inquantity')";
$results = mysqli_query($dbc, $query);
}
if ($results) {
echo 'Success';
}
}
?>
@kmdmおかげであなたは何を記述することができませんでしたあなたの問題は実際にはあります。 [ask]と[mcve]の作成方法をお読みください。 – CBroe
また、文字列ではなく配列に対してmysqli_real_escape_string()を実行しています。その関数をループ内で実行します。例えば。 $ product [$ i]と$ quantity [$ i] – kmdm
@CBroe質問を編集しました – lidave