私は、小売業者/会社の請求書を格納して取り出すデータベースシステムを作成しています。私は個々の項目を個別に追加することなく、PHPフォームを通じて複数のエントリをmysqlデータベースに追加する方法を探しています。私のフォームは次のように見えます。PHPフォームを使用してmysqlデータベースに複数のエントリを追加
<div class="new_invoice">
<form action="addCustomerInvoice.php" method = "post" enctype= "multipart/form-data">
<fieldset>
<legend> Add new invoice for <?php echo $rsCustomer['forename']; echo ' '; echo $rsCustomer['surname']; ?></legend>
<h4>Invoice Number:</h4>
<input type="text" name="invoice_no">
<h4>Item Quantity:</h4>
<input type="text" name="quantity">
<h4>Item Name:</h4>
<input type="text" name="item_name">
<h4>Item Category:</h4>
<input type="text" name="item_category">
<h4>Manufacturer:</h4>
<input type="text" name="item_manufacturer">
<h4>Item Description:</h4>
<input type="text" name="item_description">
<h4>Item Price:</h4>
<input type="text" name="item_price">
<h4>Item Information:</h4>
<input type="text" name="item_info">
<input type="submit" value="Add new record">
</fieldset>
</form>
</div>
私は思ったんだけど
<?php
include 'database_conn.php';
$InvoiceNumber = $_POST['invoice_no'];
$Quantity = $_POST['quantity'];
$ItemName = $_POST['item_name'];
$ItemCat = $_POST['item_category'];
$ItemMan = $_POST['item_manufacturer'];
$ItemDesc = $_POST['item_description'];
$ItemInfo = $_POST['item_info'];
$sql = "INSERT INTO hlinvoicetable (invoice_no, quantity, item_name, item_category, item_manufacturer, item_description, item_info) VALUES ('$InvoiceNo', '$Quantity', '$ItemName', '$ItemCat', '$ItemMan', '$ItemDesc', '$ItemInfo')";
$queryresult = mysqli_query($conn,$sql) or die(mysqli_error());
echo "New invoice added.
mysqli_close($conn);
?>
は、フォームを繰り返し、フィールドは空白のままにされ、それがため、無視され、行が追加されていない場合を除き、それはデータベースに新しいエントリを追加持つ方法はありますか?追加されたすべてのアイテムが同じ主キー(invoice_no)を保持できますか?
ありがとうございます!
もし私がそれを言っていなければ、誰かがそうするでしょう:unsanitizedデータをINSERTしないでください。 PHPのセキュアなコードプラクティスを[bobby-tables.com](http://bobby-tables.com/)で確認してください。 (mysqliの場合は、prepared statementを使用してください) –
あなたは正しいです。私はちょうど私ができるほどシンプルに保つためにコードを削除したいと思っていますが、あなたの助言はうまく取られています! –