Bu yasal mı?
$string1= "INSERT INTO....;";
$string1 .= "INSERT INTO....;";
$string1 .= "INSERT INTO....;";
mysql_query($string1) or die(mysql_error());
Hayır, mysql_query()
a> bir seferde sadece tek bir sorgu sağlar.
Bu gibi birden çok satır ekleyebilirsiniz:
INSERT INTO table (col1, col2)
VALUES (1, 2), (3, 4), (5, 6)
MySQL dev destek MySQL dev forum
INSERT INTO table (artist, album, track, length)
VALUES
("$artist", "$album", "$track1", "$length1"),
("$artist", "$album", "$track2", "$length2"),
("$artist", "$album", "$track3", "$length3"),
("$artist", "$album", "$track4", "$length4"),
("$artist", "$album", "$track5", "$length5");
Yani her zaman olduğu gibi, normal gibi gidiyor eklemek:
ONE insert deyimi ile birden çok değer ekleme mutlu. :)
Genel olarak, her bir deyim, bir noktalı virgül ile biter beri geçerli SQL, ama PHP bir kötü yazılmış script istismar olabilir SQL injection saldırılarına karşı korumak amacıyla, bir defada birden fazla sorgu göndermesine izin vermez.
Hala gibi bir sözdizimi kullanabilirsiniz:
INSERT INTO foo VALUES ('a1', 'b1'), ('a2', 'b2');