PHP / MySQL - “BEGIN… COMMIT” não funciona

Eu estava procurando uma maneira de inserir dados em duas tabelas de banco de dados em uma única consulta de forma que, se uma falha, nem salvo (eu não quero dados órfãos). Eu me deparei com uma pergunta do Stack Overflow que me mostrou como usar o BEGIN ... COMMIT para realizar isso, mas simplesmente não está funcionando.

Aqui está a consulta que eu configurei:

$query = "BEGIN;
            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');
            COMMIT;";
mysql_query($query) or die (mysql_error());

Estou tendo o erro a seguir:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'INSERT INTO content_subpages (title, url_referer) VALUES ('TESTING','testing'); ' at line 2

Esta é a primeira vez que uso o BEGIN ... COMMIT, então é razoável que eu esteja fazendo algo errado, mas eu segui a sintaxe do exemplo do SQL Fiddle dado pela resposta selecionada para a pergunta do Stack Overflow que mencionei (http: // stackoverflow.com/questions/12649706/mysql-insert-into-multiple-tables-in-same-query-with-begincommit), mas ainda não funciona.

Se eu puder obter facilmente o resultado de INSERT múltiplo "tudo ou nada" sem BEGIN ... COMMIT, isso seria uma solução aceitável.

desde já, obrigado

questionAnswers(4)

yourAnswerToTheQuestion