जटिलताओं से बचने का एक आसान तरीका कुछ इस तरह होगा
$stmt = $pdo->prepare('INSERT INTO foo VALUES(:a, :b, :c)');
foreach($data as $item)
{
$stmt->bindValue(':a', $item[0]);
$stmt->bindValue(':b', $item[1]);
$stmt->bindValue(':c', $item[2]);
$stmt->execute();
}
हालाँकि, यह कथन को कई बार निष्पादित करता है। इसलिए, यह बेहतर है कि हम ऐसा करने के लिए एक लंबी एकल क्वेरी बनाएं।
हम यह कैसे कर सकते हैं इसका एक उदाहरण यहां दिया गया है।
$query = "INSERT INTO foo (key1, key2) VALUES "; //Prequery
$qPart = array_fill(0, count($data), "(?, ?)");
$query .= implode(",",$qPart);
$stmt = $dbh -> prepare($query);
$i = 1;
foreach($data as $item) { //bind the values one by one
$stmt->bindValue($i++, $item['key1']);
$stmt->bindValue($i++, $item['key2']);
}
$stmt -> execute(); //execute