插入仅用于每个插入最后一行

时间:2017-03-06 16:09:25

标签: php

美好的一天

我正在开发一个小型的php项目,我将逗号动画字符串发送到我的php脚本。 我遇到的问题是,我试图让脚本执行5次并插入5个值但是到目前为止我看到做错了什么并且只插入了最终值。

我已经更改了$ variable的值,看看问题是否与我正在使用的字符串有关,但仍然没有变化。感谢任何帮助,因为我已将代码放在下面。

 $variable = 'value1, value2, value3, value4, value5';
    $arrs = explode(',', $variable);
    foreach($arrs as $arr){ 


 $sql = "INSERT INTO diver(refno,f_name,l_name,sig) VALUES ('$refno','$f_name','$variable',',')";

   }


 if(mysqli_query($conn,$sql)){
 echo "Works ";
 }else{
echo("Error description: " . mysqli_error($conn));

 }
 }else{
echo("Error description: " . mysqli_error($conn));
}

3 个答案:

答案 0 :(得分:0)

您应该在mysqli_query

的每次迭代中执行foreach
  foreach($arrs as $arr){ 
      $sql = "INSERT INTO diver(refno,f_name,l_name,sig) VALUES   
      ('$refno','$f_name','$variable',',')";
       mysqli_query($conn,$sql);
   }

否则只在最后一次(foreach结束后)

执行插入

答案 1 :(得分:0)

您需要在foreach

中运行查询
   foreach($arrs as $arr){ 
        $sql = "INSERT INTO diver(refno,f_name,l_name,sig) VALUES ('$refno','$f_name','$variable',',')";
        mysqli_query($conn,$sql)
   }

虽然实际上什么都没有改变?我猜$变量应该是$ arr? VALUES ('$refno','$f_name','$arr',',')

答案 2 :(得分:-1)

试试这个

$conn = mysqli_connect('host','user','pw','db');
$variables = 'value1, value2, value3, value4, value5';
$variables = explode(',', $variables);
$sql = "INSERT INTO diver(refno,f_name,l_name,sig) VALUES ";
$rows = array();
foreach( $variables as $variable ){ 
    $rows[] = "('$refno','$f_name','$variable','')";
}
$sql .= implode(",",$rows);
if(mysqli_query($conn,$sql)){
   echo "Works ";
}
else{
  echo("Error description: " . mysqli_error($conn));
}