Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/04/2008, 11:27
Master04
 
Fecha de Ingreso: abril-2008
Mensajes: 3
Antigüedad: 16 años, 1 mes
Puntos: 0
Problemas al hacer rollback

Hola,
estoy realizando una base de datos con mysql (tablas InnoDb) y utilizo ADODB. El problema lo tengo al realizar el control de transacciones, es como si estuviera utilizando un sistema no transaccional y entonces no se restauran las transacciones.
En el caso siguiente el rollback no se realiza, con lo cual se inserta el valor en la tabla. He probado con BeginTrans y StartTrans, pero el resultado es el mismo, no funciona.

<?php
include("conectarADO.php");
include("adodb/adodb.inc.php");

$usuari=$_POST['user'];
echo "user: $usuari";

$db = conectar();
//$db->StartTrans();
$db->BeginTrans();
$insert = "INSERT INTO prueba VALUES ($usuari)";
$tran3=$db->Execute($insert);
//$res=$db->CompleteTrans(false);
$res=$db->RollbackTrans();

if($res) {
echo "TRUE";
}
else {
echo "FALSE";
}


?>

En la interficie de phpMyAdmin he introducido el codigo mysql para comprovar que la tabla permite el control de transacciones y si que funciona. Por tanto el problema que tengo es con el uso de ADODB, pero no consigo encontrar los motivos por los que falla.
El motor de almacenamiento predeterminado en el servidor es MyISAM ,que no soporta transacciones, aunque no creo que haya ningun problema con eso a la hora de hacer la conexion, pero es que no se me ocurre nada más.
A ver si alguien me puede ayudar porque no consigo encontrar que puede estar pasando.
Gracias!