Bind_param()输出

时间:2015-06-22 09:28:19

标签: php mysql mysqli sqlbindparameter

我想在foreach循环中扩展查询。我没有使用bind_param(),这会导致错误,可能是因为我的值包含了我不想删除的逗号。 我想用一个Query插入多行。有没有办法在这种情况下使用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)");

1 个答案:

答案 0 :(得分:2)

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

$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);