PHP MySQL İşlemleri

4 Cevap php

Tek bir komutla bir SQL işlem yürütmek için yine de var mı? örneğin

mysql_query("
START TRANSACTION;
INSERT INTO table1 ....etc;
INSERT INTO table 2.....;
COMMIT;");

Yoksa her zaman ayrı komutlar kullanmak zorunda mı? örneğin

mysql_query("START TRANSACTION;");
mysql_query("INSERT INTO etc etc

Teşekkürler

4 Cevap

Sen can, yerine saf mysql tabloların PDO kullanarak,

$connection = new PDO('mysql:host=localhost;dbname=test', 'user', 'password');
$connection->beginTransaction();
$connection->exec('insert into table1...');
$connection->exec('insert into table2...');
$connection->commit();

Tabii ki, bu yerine hazırlanmış ifadeler kullanmak ve sql enjeksiyonlar hakkında çok fazla endişelenmenize gerek olmayacak kadar kullanıcı girişi için bind değişkenleri kullanmak gerekir, sadece hızlı bir örnektir.

PHP mysql_query fonksiyonu ile ayrı ayrı görüşmeleri olmak zorundadır.

Depolama motoru olarak InnoDB kullanıyorsanız MySQL işlemleri destekler. MySQL API birden fazla tablolar mysql_query geçirilen izin vermez, ama bir işlem bağlantı başına olduğundan, sadece birden çağrıları üzerinde o kadar ayırabilirsiniz.

Eğer PDO kullanmak istemiyorsanız mysqli en multi_query bir komut kullanabilirsiniz