1
該代碼對存儲在$ in中的所有查詢執行事務。例如 $ in =「Query1; Query2; Query3;」mysql_query(「ROLLBACK」);不起作用
當其中一個出現故障,將被回退,但沒有效果,並且沒有任何錯誤插入到數據庫
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn)
{
die('ERR');
}
mysql_select_db('db445123652');
mysql_query("START TRANSACTION");
$strlen = strlen($in);
$ini = 0;
for($i = 0; $i <= $strlen; $i++) {
$char = substr($in, $i, 1);
if($char == ';')
{
$resul = mysql_query(substr($in, $ini, $i));
if(!$resul)
{
echo mysql_error();
mysql_query("ROLLBACK");
echo 'Rollback';
break;
}
else{
$ini = $i + 1;
}
}
}
if($i==($strlen+1) && $resul)
{
echo 'OK';
mysql_query("COMMIT");
}
數據庫是在1 & 1主機查詢和我通過存取權限phpMyAdmin的。
您是否使用InnoDb引擎? – Benz 2014-09-04 07:27:19
我不是那個正在使用的引擎,因爲它是在主機中僱用的數據庫。我會盡力得到這些信息。 – user3745618 2014-09-04 07:36:45
引擎是MyISAM。 – user3745618 2014-09-04 07:49:11