这个想法是将相同的数据插入 SQL DB $quantity 次 这意味着如果我的数量 = 10,SQL 查询需要插入相同的数据 10 次 问题是我总是多一张记录 意思是如果我的数量=2,我将有 3 条记录 如果我把它设置为 1,我将有 2 条记录,所以
$i=1;
while ($i<="$quantity")
{
$sql="INSERT INTO arivage (ID_Ship, Date_ariv, Date_achat, prov_id, Sph, cyl, Prod_type, Pord_color)
VALUES ('', '$date', '$date1', '$prov_id', '$sph', '$cyl', '$Prod_type', '$Prod_color')";
mysql_query($sql);
$i++;
}
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
我在代码中也有sql连接和关闭。
最佳答案
如果您的一条记录总是过多,这可能意味着您的数量值不正确(?)。
此外,这与您的问题无关,您应该使用 while($i<=$quantity)
而不是while($i<="$quantity")
。您不需要"
第一个 block 没问题:
$i=1;
while ($i<="$quantity")
{
$sql="INSERT INTO arivage (ID_Ship, Date_ariv, Date_achat, prov_id, Sph, cyl, Prod_type, Pord_color)
VALUES ('', '$date', '$date1', '$prov_id', '$sph', '$cyl', '$Prod_type', '$Prod_color')";
mysql_query($sql);
$i++;
}
下一个 if 语句再次执行您的查询,这意味着您插入了太多行。删除整个 if 语句将解决您的“插入太多行”问题。
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
或者,将 while 循环更改为:。
$i=1;
while ($i<="$quantity")
{
$sql="INSERT INTO arivage (ID_Ship, Date_ariv, Date_achat, prov_id, Sph, cyl, Prod_type, Pord_color)
VALUES ('', '$date', '$date1', '$prov_id', '$sph', '$cyl', '$Prod_type', '$Prod_color')";
if(!mysql_query($sql, $con)) {
die('Error: ' . mysql_error());
}
$i++;
}
关于php - 通过 PHP 使用 While 循环将多个数据插入到 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10279764/