CLOUDテーブルとIDCテーブルにデータを挿入したい。PHP mysqlでBeginTransactionが動作しない
CloudidはIDCテーブルの外部キーですので、トランザクションを使用します。
前に$conn->beginTransaction();
と$conn->commit();
が追加されていますが、問題なく動作しますが、正常に動作しません。ここで
は私のコードは次のとおりです。
<?php
if($_GET["act"]=="add")
{
try
{
$conn=new PDO('mysql:host=localhost;port=3306;dbname=xxx' , 'root' , 'xxxx');
//$conn->beginTransaction();
$query="
insert into CLOUD (name,date) VALUES('".$_POST['customerName']."','".$_POST['firstDay']."');
insert into IDC (name,id,phone,cloudid) VALUES('".$_POST['engName3']."','".$_POST['engID3']."','".$_POST['engPhone3']."',LAST_INSERT_ID());
insert into IDC (name,id,phone,cloudid) VALUES('".$_POST['engName4']."','".$_POST['engID4']."','".$_POST['engPhone4']."',LAST_INSERT_ID());
";
$stmt=$conn->query($query);
//$conn->commit();
echo "success";
}
catch(PDOException $e)
{
$conn->rollBack();
echo "connect failed!".$e->getMesage();
exit;
}
}
?>
SQLインジェクションの警告 –
ので、あなたがそれらを使用するとどうなりますか? –
'beginTransaction()'と 'commit()'を使用すると、どのようなエラーが発生しますか? –