我一直在尝试制作这样的功能,以确保单击时所有值都成功存储在数据库的多个表中。我读了一篇关于它的文章,它说:
“ PHP中没有这样的方法,我们必须使用直接SQL。(在PHP PDO中有这样的方法。)”
请让我知道是否可以仅在 sql 查询中嵌入开始事务和结束事务,因为我从未在 PDO 上工作过,我唯一的想法是在一个 SQL 查询中对表进行多次插入。
粗略的想法
<?php
$sql = "
Begin Transaction
insert into .............
insert into ...........
End Transaction "
mysql_query($sql) ?>
我找到的解决方案:
mysql_select_db($database_dany, $dany);
if (mysql_query('BEGIN')) {
if (
mysql_query($query1) &&
mysql_query($query2) &&
mysql_query($query3) &&
mysql_query($insertSQL)
)
$result = mysql_query('COMMIT'); // both queries looked OK, save
else
{
mysql_query('ROLLBACK'); // problems with queries, no changes
echo "There are some problemo!!!";
}