SORU
25 NİSAN 2010, Pazar


PHP MySQL işlemleri örnekler

Gerçekten MySQL işlemleri kullanıldığı normal PHP dosyası örneği bulamadım. Bunu bana basit bir örnek gösterebilir misiniz?

Ve bir soru daha. Zaten programlama bir çok şey yaptım ve işlem Tamam. Eğer 3 ** biri başarısız olursa, o zaman diğerleri de başarısız header.php PHP bir işlev veya bir şey koyabilir miyim?


"Anladım, doğru mudur? bence:

mysql_query("SET AUTOCOMMIT=0");
mysql_query("START TRANSACTION");

$a1 = mysql_query("INSERT INTO rarara (l_id) VALUES('1')");
$a2 = mysql_query("INSERT INTO rarara (l_id) VALUES('2')");

if ($a1 and $a2) {
    mysql_query("COMMIT");
} else {        
    mysql_query("ROLLBACK");
}

CEVAP
25 NİSAN 2010, Pazar


Ben hareketleri ile çalışırken genellikle kullanmak fikri bu gibi görünüyor(yarı pseudo-code):

try {
    // First of all, let's begin a transaction
    $db->beginTransaction();

    // A set of queries; if one fails, an exception should be thrown
    $db->query('first query');
    $db->query('second query');
    $db->query('third query');

    // If we arrive here, it means that no exception was thrown
    // i.e. no query has failed, and we can commit the transaction
    $db->commit();
} catch (Exception $e) {
    // An exception has been thrown
    // We must rollback the transaction
    $db->rollback();
}


Eğer bir sorgu başarısız olursa, unutmayın ki, bu fikir, bir özel Durum olması gerekir:

  • PDO, yapılandırmak nasıl bağlı yapabilirsiniz
  • başka, başka bir API ile, işlevinin sonucu bir sorgu çalıştırmak ve bir istisna kendini atmak için kullanılan test gerekebilir.


Ne yazık ki, işin içinde büyü var. Sadece bir yönerge bir yere koy ve işlemleri otomatik olarak yapmış olamaz: hala bir hareket içinde yürütülmelidir. belirli var

Örneğin, sık sık hareket etmeden önce sorgular, birkaç sahip olacaksınız(begin) önceve işlem sonrası sorgular başka bir çift(sonra da commit rollback)ve bu sorguların ne olursa olsun idam isteyeceksiniz(ya da değil)hareket içinde.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • KoreanFrogMania님의 채널

    KoreanFrogMa

    18 Aralık 2011
  • TastyTuts | Creative video tutorials by Gareth David

    TastyTuts |

    6 Temmuz 2011
  • UrAvgConsumer

    UrAvgConsume

    1 Ocak 2012