通过PHP使用While循环向SQL server插入多个数据

通过PHP使用While循环向SQL server插入多个数据,php,mysql,sql,Php,Mysql,Sql,其思想是将相同的数据插入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_

其思想是将相同的数据插入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());
}
$i=1;

而($i如果你总是有一条记录太多,那可能意味着你的数量值不正确(?)


另外,这与您的问题无关,您应该使用
while($i首先,为什么要使用“$quantity”而不是普通变量
$quantity
?表中或多或少存在唯一的键约束。如果(!mysql\u query…inside while().您好,我确信数量是正确的。如果我用数量=4填写表单,我将有5条记录,如果我用6填写表单,我将有7条记录,我尝试的方式没有“和”的变化。如果我将if(!mysql_query…inside while()在while循环中,我将获得另外2条记录,也就是说,如果数量=2,我将获得:5条记录。LOL如果在循环中移动它,则删除另一个mysql\u query($sql)调用。现在您正在执行mysql\u query($sql)$quantity在循环内执行了多次,然后在循环外执行另一次mysql\u query。您应该完全删除if(!mysql\u query)语句,或者将其移动到循环内并删除另一条mysql\u query语句:)是删除if(!mysql\u query($sql,$con))解决问题。但是如果没有插入查询,我不会收到错误消息。有办法添加此错误消息吗?是的,请参阅更新版本-您的主要问题是您有两次mysql\u query()。在循环中使用if语句是可以的,但您必须删除其他mysql\u query语句。:)
$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());
}
$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++;
}