Todo lo que quiero saber es si puede usar mysqli's prepare
, execute
y rollback
juntos?¿Puedes usar Mysqli para preparar, ejecutar y deshacer juntos?
$m = new mysqli($dbhost,$dbuser,$dbpassword,$dbname);
$m->autocommit(FALSE);
$stmt = $m->prepare("INSERT `table` (`name`,`gender`,`age`) VALUES (?,?,?)");
$stmt->bind_param("ssi", $name, $gender, $age);
$query_ok = $stmt->execute();
$stmt = $m->prepare("INSERT `table` (`name`,`gender`,`age`) VALUES (?,?,?)");
$stmt->bind_param("ssi", $name, $gender, $age);
if ($query_ok) {$query_ok = $stmt->execute();}
if (!$query_ok) {$m->rollback();} else {$m->commit();}
¿Se puede hacer esto? Supongamos que el código anterior tiene un bucle y o las variables obtienen datos nuevos en ellos.
¿Has probado? –
¿Qué te hace suponer que podrías o no podrías? –
Lo he probado y no está claro en los resultados, por lo que estoy preguntando. La documentación de PHP no dice nada de ninguna manera si preparan, ejecutan y retrotraen trabajo juntos. ¿Alguien alguna vez lo intenta o lo pone a funcionar? –