PHP / MySQL – “BEGIN … COMMIT”不工作

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP / MySQL – “BEGIN … COMMIT”不工作脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一种方法,在一个查询中将数据插入到两个数据库表中,如果一个失败,既不保存(我不想要孤立的数据).我遇到了一个Stack Overflow问题,它向我展示了如何使用BEgin … COMMIT来实现这一目标,但它根本不起作用.

这是我设置的查询

$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());

我收到以下错误
您的sql语法有错误;检查与MysqL服务器版本对应的手册,以便在’INSERT INTO content_subpages(title,url_referer)VALUES(‘testING’,’testing’)附近使用正确的语法; ‘在第2行

这是我第一次使用BEGIN … COMMIT,所以我可能做错了是合理的,但是我遵循了我提到的Stack Overflow问题的选定答案给出的sql fiddle示例的语法(http:// stackoverflow.COM/questions/12649706/MysqL-insert-into-multiple-tables-in-same-query-with-begincommit),但它仍然无法正常工作.

如果我可以在没有BEGIN … COMMIT的情况下轻松实现“全有或全无”的多个INSERT结果,那将是一个可接受解决方案.

提前致谢

尝试将行分为多个PHP语句:
$query = "BEGIN";
MysqL_query($query) or die (MysqL_error());
$query = "INSERT INTO content_subpages (title,'$url_referer')";
MysqL_query($query) or die (MysqL_error());

$query = "INSERT INTO ccm_main_menu (sub_item,'$newsort')";
MysqL_query($query) or die (MysqL_error())

$query = "COMMIT";
MysqL_query($query) or die (MysqL_error());

脚本宝典总结

以上是脚本宝典为你收集整理的PHP / MySQL – “BEGIN … COMMIT”不工作全部内容,希望文章能够帮你解决PHP / MySQL – “BEGIN … COMMIT”不工作所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。