I was wondering how to use a MySQL BEGIN/COMMIT with a PDO. I've read that it's best to create a query that either inserts all data or none at all to provide 'consistency' in the database Here's my code
$query = $db -> prepare (" BEGIN; INSERT INTO chat (chat_id,msg,datetime) VALUES (:cid,:msg,:datetime) INSERT INTO chat_connect (chat_id,sender_id,receiver_id) VALUES (:cid2,:sender_id,:receiver_id); COMMIT; "); $query -> execute(array( "cid" => $cid, "msg" => $msg, "datetime" => $datetime, "sender_id" => $getid, "receiver_id" => $frid, "cid2" => $cid ));
Taken from here.
You intend to create a
transactionvia PDO. That is not really a problem. You can do it by generating the query text accordingly:
Here you can see how you can write a bullet-proof transaction.