У меня 3 mysql запросов, которые я выполняю с php, 1 успешно, а 2 - нет. Однако я установил фиксацию и откат. Когда я делаю var_dump для коммита, он возвращает true, успешный запрос вставляет значение в БД вместо отката.
// соединение установлено
function __construct() {
$this->error['State']=0;
$this->error['Msg']="";
try {
$db_con=mysqli_connect($this->server, $this->dbuname, $this->dbpassw, $this->database);
$this->db_connection=$db_con;
mysqli_autocommit($db_con,FALSE);
mysqli_begin_transaction($this->db_connection);
}
catch (Exception $e) {
$this->setError("Error: Please try again");
}
}
/ / запрос и фиксация
public function result($sql) {
try {
$result=mysqli_query($this->db_connection,$sql);
if($result) {
$this->result=$result;
}else {
$this->setError("Error: Please try again");
}
}
catch (Exception $e) {
$this->setError("Error: Please try again");
}
}//end of result function
public function commit() {
$mysqli=$this->db_connection;
$c=mysqli_commit($mysqli);
if (!$c) {
$this->setError("Error: Please try again");
mysqli_rollback($mysqli);
}else{
return 1;
}
}
// запрос
public function make($i){
$sql="INSERT INTO t1(tcol1, tcol2, tcol3) VALUES ";
...
$this->commit();
$this->close_conn();
Спасибо