我经常使用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表单中。以后我需要使用准备好的语句记录多行。谢谢
答案 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
在这样的循环中运行查询是准备好的语句的目的。