2015-06-22 46 views
-2

我想在foreach循環中展開查詢。我沒有bind_param()這樣做會導致錯誤,可能是因爲我的值包含了我不想刪除的逗號。 我想用一個查詢插入多行。有沒有在這種情況下使用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)"); 

回答

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); 
+0

首先:謝謝你的回答。 (abc,def,ghi,jk),(acb,fed,ghgi,ik),(...,...)插入到表名(field1,field2,field3,field4)中。 ..,...,..)「 對? 問題是,我的值有逗號,我需要保留它們。我認爲我可以使用bind_param(),但我不知道如何使用它來插入多行。 – PhilipB