PDO和PHP事务未插入数据且未给出错误
我有oho和pdo代码tat在两个单独的sql表上执行一个事务。下面提供了代码PDO和PHP事务未插入数据且未给出错误,php,mysql,pdo,Php,Mysql,Pdo,我有oho和pdo代码tat在两个单独的sql表上执行一个事务。下面提供了代码 try{ echo " we begin transaction "; $dbh->beginTransaction(); $stmt2 = $dbh->prepare( "INSERT INTO `members`( `username`, `email`, `password`, `time_created`) VALUES
try{
echo " we begin transaction ";
$dbh->beginTransaction();
$stmt2 = $dbh->prepare( "INSERT INTO `members`( `username`, `email`, `password`, `time_created`)
VALUES (:username , :email , :password , NOW())");
$stmt2->bindParam(':username', $username , PDO::PARAM_STR);
$stmt2->bindParam(':email', $email , PDO::PARAM_STR);
$stmt2->bindParam(':password', $password , PDO::PARAM_STR);
$stmt3 = $dbh->prepare("INSERT INTO `members_groups` (`member_id` , `group_id`)
VALUES((SELECT MAX(member_id) FROM members) ,
(SELECT group_id FROM groups WHERE permission = 0 ))");
if($stmt2->execute() && $stmt3->execute()){
$dbh->commit();
echo "registered successfully";
}
}
catch (Exception $e){
$dbh->rollback();
echo "an error has occurred".$e.getMessage();
}
但是代码被执行,数据不会插入表中,也不会产生错误。
但所有参数都已设置。
$e.getMessage()
应该是$e->getMessage()代码>在打开PHP标记后立即进行测试时,将错误报告添加到文件顶部。例如是否已将PDO error mode属性设置为exception?另请查看,而不必在第二个查询中执行2次SELECT操作,这样PDO将生成PDO exception