我有一个PHP脚本,可以同时使用MySQL数据库和ODBC数据库连接(QODBC到QuickBooks)。设置如下:
Retrieve rows from MySQL database
Begin MySQL transaction:
Loop through rows
Process data
MySQL Insert/Update
MySQL Update
QODBC Selects/Inserts
End Loop
MySQL Delete
Commit Transaction
问题是,如果QODBC部分出现错误,那么将提交到那时为止的MySQL命令。这导致MySQL中出现重复和错误的数据。没有嵌套事务,所有查询都成功/失败(即没有致命错误或过早退出脚本)。
问题是 - 在同一个脚本中通过PHP连接到两个不同的数据库时是否存在问题?似乎正在发生的事情是当脚本到达ODBC部分时,MySQL事务被关闭并自动提交。
答案 0 :(得分:3)
我想说有两个可能的原因: