PHP/MySQL - “BEGIN…COMMIT” Not Working

后端 未结 4 1782
萌比男神i
萌比男神i 2021-01-18 04:31

I was searching for a way to insert data into two database tables in a single query in such a way that if one failed, neither saved (I don\'t want orphaned data). I came ac

4条回答
  •  北海茫月
    2021-01-18 04:56

    Try:

     $dbh->beginTransaction();
     $query = "INSERT INTO content_subpages (title, url_referer) VALUES ('$pagetitle','$url_referer');
                INSERT INTO ccm_main_menu (sub_item, sub_item_link,sub_item_sort_order) VALUES ('$pagetitle','$url_referer','$newsort')";
     $dbh->exec($query);
     $dbh->commit();
    

    Btw, Simon Germain got a good point, Transaction will work with tables using InnoDB engine.

提交回复
热议问题