multi_query не работает, когда я использую транзакции mysql с mysqli в переполнении стека

Вот пример моего кода

$mysqli = new mysqli("localhost", "root", "123", "temp");

var_dump($mysqli);

$mysqli->begin_transaction();

$sql1 = "insert into test (Name) values ('pratik5');";

$sql1 .= "insert into test (Name) values ('pratik6');";

$test = $mysqli->multi_query($sql1);

$mysqli->commit();

0

Решение

Вы не должны использовать несколько запросов. Перепишите ваш код следующим образом

$mysqli->begin_transaction();

$mysqli->query("insert into test (Name) values ('pratik5')");
$mysqli->query("insert into test (Name) values ('pratik6')");

$mysqli->commit();

или, для реальная жизнь вставки,

$mysqli->begin_transaction();

$stmt = $mysqli->prepare("insert into test (Name) values (?)");
$stmt->bind_param("2", $name);
$name = 'pratik5';
$stmt->execute();
$name = 'pratik6';
$stmt->execute();

$mysqli->commit();
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]