Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用bindparam插入多行_Php_Mysql_Pdo_Sql Insert_Bindparam - Fatal编程技术网

Php 使用bindparam插入多行

Php 使用bindparam插入多行,php,mysql,pdo,sql-insert,bindparam,Php,Mysql,Pdo,Sql Insert,Bindparam,嗯,我对bindparam的插入有问题 $sql="INSERT INTO $tabla (value1,value2,value3)"; for($arrays as array){ $sql.=",($array,:bind2,:bind3)" } $stmt=conection::conect()->prepare($sql); $stmt->bindParam(:bind2, $data2); $stmt->bindPara

嗯,我对bindparam的插入有问题

$sql="INSERT INTO $tabla (value1,value2,value3)";

for($arrays as array){
  $sql.=",($array,:bind2,:bind3)"
}
$stmt=conection::conect()->prepare($sql);
$stmt->bindParam(:bind2, $data2);
$stmt->bindParam(:bind3, $data3);
$stmt->execute();
我想要的是建造这样的东西

 INSERT INTO $table (value1, value2, value3) 
 
  VALUE (array[0],:bind2,:bind3),
        (array[1],:bind2,:bind3),
        (array[2],:bind2,:bind3)

,正如您可以看到的,第一个值是通过for循环插入的,而其他值(value2和value3)是相同的bind-baram,这意味着当我插入时,只有value1会更改,但由于某些原因,它只插入第一个值,并且不会执行所有查询。我希望你们能帮助我,伙计们。(对不起我的英语)

这能回答你的问题吗?请注意,问题中的代码有语法错误。复制并粘贴实际代码总是比重新键入代码更好。除此之外,不绑定第一个参数的原因是什么?这是否回答了您的问题?El_vanja man,这是因为查询的性质,我需要重用bind参数,除了第一个(根据我发布的示例),是的,下次发布原始代码时,我会记住,我只是这样做,因为我认为这更容易。