-2

foreach ループでクエリを展開したい。おそらく私の値には削除したくないコンマが含まれているため、エラーが発生する bind_param() なしで実行しています。1 つのクエリで複数の行を挿入したい。このコンテキストで 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)");
4

1 に答える 1

1

このようなクエリを作成するときは、この方法で単一のテーブルに複数の行を挿入していることに注意してください。

$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);
于 2015-06-22T09:43:27.203 に答える