如何使用PHP中的预处理语句将数组结果插入mysql

时间:2018-11-28 11:52:40

标签: php mysql

我经常使用prepared语句将记录插入mysql,对于非数组值,下面的代码很好,但是对于数组类型,它给我错误:

  

数组到字符串的转换

index.php

List Oc comments;
for(int index=0;index<comments.size();index++){
   //This is for sorting ArrayList ocR of each oC object
   this.sort(comments.get(index).getocRs());
}
//This is for sorting List of oC
this.sort(comments);`

输出

<input type="text" name="test[]" /> 
<input type="text" name="test1[]" />

PHP插入(发布的数据在数组中)

 [test] => Array ( [0] => 1 ) [test1] => Array ( [0] => 2 )

现在,请帮助如何使用MySQL中准备好的语句将数组数据发布到html表单中。以后我需要使用准备好的语句记录多行。谢谢

1 个答案:

答案 0 :(得分:1)

尝试一下:

$test=array_map('trim',$_POST["test"]);
$test1=array_map('trim',$_POST["test1"]);

$stmt = $conn->prepare("INSERT INTO test(v1,v2) VALUES (?,?)");
$error=false;
foreach($test AS $key=>$value){
    if(! stmt->execute([$value,$test1[$key]])){
       $error=true;  
       break;
    }
}
if($error) // handle error

在这样的循环中运行查询是准备好的语句的目的。