【发布时间】:2021-01-12 14:01:31
【问题描述】:
我尝试将数组数据从表单插入到我的数据库中,但只得到最后一行:
我想将这些数组插入数据库:
ProductID Quantity
2 10
3 5
4 8
但我在我的数据库中只看到这些数据:
ProductID Quantity
4 8
请参阅下面的代码:
define('DB_SERVER','localhost');
define('DB_USER','root');
define('DB_PASS' ,'');
define('DB_NAME','store');
$con = mysqli_connect(DB_SERVER,DB_USER,DB_PASS,DB_NAME);
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$productID=$_POST['product_id'];
$IssueQty=$_POST['quantity'];
$inventory=mysqli_query($con,"insert into inventory_log(productID, IssueQty)
values('$productID', '$IssueQty')");
【问题讨论】:
-
您只插入一组行,那么您如何期望数据库显示 3 行?
-
可以插入一行吗?如果是这样,你能在一个循环中运行完全相同的代码吗?
-
使用 foreach , foreach ($_POST as $key => $value)
-
警告:您对SQL Injections 持开放态度,应该使用参数化的prepared statements,而不是手动构建查询。它们由PDO 或MySQLi 提供。永远不要相信任何形式的输入!即使您的查询仅由受信任的用户执行,you are still in risk of corrupting your data。 Escaping is not enough!