我一直在使用PDO和下面的函數一次插入1000個塊的多個記錄。現在我正在使用一個使用mysqli的系統,我想知道是否可以稍微修改我的函數以使用mysqli,但是我注意到mysqli execute不接受數組作爲參數。以下功能可與PDO完美結合:如何用mysqli一次插入多個記錄類似於pdo
$sub_data = array_chunk($data, 1000);
for ($b = 0; $b < count($sub_data); $b++)
{
$insert_values = array();
for ($a = 0; $a < count($sub_data[$b]); $a++)
{
$insert_values = array_merge($insert_values, array_values($sub_data[$b][$a]));
$placeholder[] = '(' . implode(', ', array_fill(0, count($sub_data[$b][$a]), '?')) . ')';
}
$sql2 = "INSERT INTO $table_name (" . implode(",", array_keys($sub_data[$b][0])) . ") VALUES " . implode(',', $placeholder) . "";
$prepare = $db->prepare($sql2);
try
{
$prepare->execute($insert_values);
}
catch (mysqli_sql_exception $e)
{
echo "<pre>";
print_r($sub_data[$b]);
echo "</pre>";
echo $e->getMessage();
print_r($db->errorInfo());
}
unset($insert_values);
unset($placeholder);
}
謝謝!
'mysqli'不支持儘可能多的方法來爲PDO綁定,所以你可能有更多的麻煩事情了。 – tadman 2014-10-09 17:47:23
可能有用:[15149157 /最好的方式插入許多值在mysqli](http://stackoverflow.com/questions/15149157/best-way-to-insert-many-values-in -mysqli) – 2014-10-09 19:40:38