クリックするとすべての値がデータベースの複数のテーブルに正常に保存されるようにする機能を作成しようとしています。私はそれについての記事を読みました、そしてそれは言います:
" PHP にはそのようなメソッドはなく、直接 SQL を使用する必要があります。 (PHP PDO にはそのようなメソッドがあります。) "
私は PDO で作業したことがなく、1 つの SQL クエリでテーブルに複数の挿入を行うことしか考えていないため、トランザクションの開始とトランザクションの終了を 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!!!";
}