sql_query() 트랜잭션 문의
그누보드에서 sql_query($sql) 형태로 사용하느 것으로 알고 있습니다. 오류발생시 트랜잭션으로 rolll_back하려고 하는데 해당 코드가 없는것 같습니다. 아래와 같은 유사 형태로 사용하려고 하는데 어떻게 하면 되는지 궁금합니다.
Copy
try{
sql_query($sql);
}catch(Excetion $e){
rollback();
$message = $e->getMessage();
break;
}
답변 2개 / 댓글 1개
2026-04-26 (일) 12:31:58
Copy
sql_query("START TRANSACTION");
try {
$result = sql_query($sql, false);
if (!$result) {
throw new Exception(sql_error());
}
sql_query("COMMIT");
} catch (Throwable $e) {
sql_query("ROLLBACK");
$message = $e->getMessage();
}
위 처럼 해보세요.
InnoDB 일 경우만 유효 합니다.
오타 Exception
답변에 대한 댓글 1개
2026-04-26 (일) 01:20:46
답변을 작성하려면 로그인이 필요합니다.
또한 try-catch 꼭 처리해야 한다면...
mysqli_begin_transaction($g5['connect_db']);
try {
mysqli_query($g5['connect_db'], $sql);
mysqli_commit($g5['connect_db']);
} catch (Exception $e) {
mysqli_rollback($g5['connect_db']);
}