Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/295.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 Bind_param()输出_Php_Mysql_Mysqli_Bindparam - Fatal编程技术网

Php Bind_param()输出

Php Bind_param()输出,php,mysql,mysqli,bindparam,Php,Mysql,Mysqli,Bindparam,我想在foreach循环中展开一个查询。我在没有bind_param()的情况下执行此操作,这会导致错误,可能是因为我的值包含我不想删除的逗号。 我想用一个查询插入多行。在这种情况下有没有办法使用bind_param() 代码现在看起来像: $finalquery = "INSERT INTO mytable (a,b) VALUES"; foreach($xml->entry) { $abc_a = $xml->schema; $abc_b = $xml->s

我想在foreach循环中展开一个查询。我在没有bind_param()的情况下执行此操作,这会导致错误,可能是因为我的值包含我不想删除的逗号。 我想用一个查询插入多行。在这种情况下有没有办法使用bind_param()

代码现在看起来像:

$finalquery = "INSERT INTO mytable (a,b) VALUES";
foreach($xml->entry) {
    $abc_a = $xml->schema;
    $abc_b = $xml->schema->a;
    if($count == 1){
         $finalquery .= "($abc_a,$abc_b)"
    }else($count == 1){
         $finalquery .= ",($abc_a,$abc_b)"
    }
    //COUNT UP
}
$result = $mysqli->query($finalquery) or die ("ERROR: ($finalquery)");

请记住,在构建这样的查询时,这样我会在单个表中插入多行

$values = array();
foreach ($_POST as $key => $value) {
    $qvalue = mysql_real_escape_string($value);
    $values[] = "($field1, $field2, $field3, $qvalue)"; // quoted value, not the raw value
}

$query_values = implode(',', $values);

$query = "INSERT INTO tablename(field1, field2, field3, field4) VALUES $query_values";
$result = mysql_query($query, $connection);

首先:谢谢你的回答。所以查询应该是这样的:“插入到表名(field1,field2,field3,field4)值(abc,def,ghi,jk),(acb,fed,ghgi,ik),(…,…,…,…)”对吗?问题是,我的值有逗号,我需要保留它们。我想我可以使用bind_param(),但我不知道如何使用它来插入多行。