Why do you want to insert all records with a single statement? You could use a prepared statement:
INSERT INTO multimedia (filename, regex, flag) VALUES (?, ?, ?);
ve bir for döngüsü kayıtları tek tek eklemek için.
Ben bir PHP programcısı değilim, ama kod bu gibi görünebilir (alınan parçalar http://php.net/manual/en/pdo.prepared-statements.php):
$stmt = $dbh->prepare("INSERT INTO multimedia (filename, regex, flag) VALUES (:filename, :regex, :flag)");
$stmt->bindParam(':filename', $filename);
$stmt->bindParam(':regex', $regex);
$stmt->bindParam(':flag', $flag);
for ( $i = 1; $i <= ...; $i++) {
$filename = ...
$regex = ...
$flag = ...
$stmt->execute();
}
Hazırlanmış deyimi kullanarak, DBMS sadece SQL deyimi ile olduğu gibi, bir kez SQL derler. (Zaten böyle bir iddiayı gerekiyorsa) Tüm veya hiç ya kayıt takılı olduğundan emin almak için, bir işlem kullanın.
Eğer bir dize değerleri koymak gerekmez beri Ayrıca, bu da sizin kaçan sorunu çözmek olacaktır. Bir hazır deyimi için dize yalnızca SQL "şablon" tanımlar.