PHP/MySQL Database/mysqli autocommit — различия между версиями
Admin (обсуждение | вклад) м (1 версия) |
Admin (обсуждение | вклад) м (1 версия) |
(нет различий)
|
Текущая версия на 07:06, 26 мая 2010
Using Transactions in MySQLi
<?php
$mysqli = new mysqli("localhost", "username", "password",
"mydatabase", 3306);
$query = "CREATE TEMPORARY TABLE friends (name VARCHAR(50), age INT) TYPE=InnoDb";
mysqli_query($mysqli, $query);
mysqli_autocommit($mysqli, false);
$friends = array(
array("name" => "Max",
"age" => 22),
array("name" => "Cliff",
"age" => 45),
array("name" => "Hollie",
"age" => 18));
foreach($friends as $friend) {
$query = "INSERT INTO friends VALUES("{$friend["name"]}",{$friend["age"]})";
mysqli_query($mysqli, $query);
}
mysqli_commit($mysqli);
$result = mysqli_query($mysqli, "SELECT COUNT(*) FROM friends");
$rows = mysqli_num_rows($result);
mysqli_rollback($mysqli);
$result = mysqli_query($mysqli, "SELECT COUNT(*) FROM friends");
$rows = mysqli_num_rows($result);
echo "There are $rows rows(s) in the table (after rollback)<BR/>\n";
mysqli_close($mysqli);
?>