Foros del Web » Programando para Internet » PHP »

transacciones en php ?

Estas en el tema de transacciones en php ? en el foro de PHP en Foros del Web. Como manejaria transacciones en PHP ?...
  #1 (permalink)  
Antiguo 24/11/2010, 08:57
Avatar de HiToGoRoShi  
Fecha de Ingreso: abril-2008
Mensajes: 849
Antigüedad: 16 años, 8 meses
Puntos: 31
transacciones en php ?

Como manejaria transacciones en PHP ?
  #2 (permalink)  
Antiguo 24/11/2010, 09:04
Avatar de martin0341  
Fecha de Ingreso: septiembre-2006
Ubicación: Rosario - Santa Fe
Mensajes: 296
Antigüedad: 18 años, 3 meses
Puntos: 8
Respuesta: transacciones en php ?

eso deberias preguntarlo en el foro de base de datos.
  #3 (permalink)  
Antiguo 24/11/2010, 09:09
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 10 meses
Puntos: 96
Respuesta: transacciones en php ?

Saludos

Mediante la libreria adodb puedes manejar transaccionalidad sobre tus sentencias o de la siguiente manera


Código PHP:
Ver original
  1. mysql_query("BEGIN");
  2.  
  3. //sentencias sql
  4.  
  5. //si se ejecuta correctamente
  6. mysql_query("BEGIN");
  7. //de lo contrario si se presenta alguna error en una sentencia
  8. mysql_query("ROLLBACK");
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #4 (permalink)  
Antiguo 24/11/2010, 09:11
 
Fecha de Ingreso: noviembre-2010
Mensajes: 17
Antigüedad: 14 años, 1 mes
Puntos: 1
Respuesta: transacciones en php ?

Tienes dos opciones o montar un procedimiento almacenado en mysql y manejar desde la base de datos las transacciones o llamar desde php a las funciones de transaccion de mysql. En este caso te pongo la solución llamado desde php.

Código PHP:
$sql "SET AUTOCOMMIT=0;";
$resultado mysql_query($sql$dbh);

$sql "BEGIN;";
$resultado mysql_query($sql$dbh);
$sql "SELECT * FROM primera; ";
$resultado mysql_query($sql$dbh);

$sql "INSERT INTO `segunda` (`id`, `descripcion`) VALUES ('', 'Otro
valor');"
;
$resultado mysql_query($sql$dbh);

$sql "INSERT INTO `primera` (`id`, `ripcion`) VALUES (´´, ´Otro valor´);";
$resultado mysql_query($sql$dbh);
//echo mysql_num_rows($resultado);
if ($resultado) {
echo 
'OK';
echo 
'<br>';
$sql "COMMIT";
$resultado mysql_query($sql$dbh);
}
else
{
echo 
'MAL';
echo 
'<br>';
echo 
'SE EJECUTA EL ROOLBACK';
echo 
'<br>';

$sql "ROLLBACK;";
$resultado mysql_query($sql$dbh);

Espero que te sirva. Un saludo
  #5 (permalink)  
Antiguo 24/11/2010, 09:12
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 10 meses
Puntos: 96
Respuesta: transacciones en php ?

Me autocito tenia un error

Cita:
Iniciado por Nano_ Ver Mensaje
Saludos

Mediante la libreria adodb puedes manejar transaccionalidad sobre tus sentencias o de la siguiente manera


Código PHP:
Ver original
  1. mysql_query("BEGIN");
  2.  
  3. //sentencias sql
  4.  
  5. //si se ejecuta correctamente
  6. mysql_query("COMMIT");
  7. //de lo contrario si se presenta alguna error en una sentencia
  8. mysql_query("ROLLBACK");
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #6 (permalink)  
Antiguo 24/11/2010, 11:23
Avatar de HiToGoRoShi  
Fecha de Ingreso: abril-2008
Mensajes: 849
Antigüedad: 16 años, 8 meses
Puntos: 31
Respuesta: transacciones en php ?

bahh osea es mejor hacerlo desde MYSQL no ?
  #7 (permalink)  
Antiguo 24/11/2010, 12:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 7 meses
Puntos: 2135
Respuesta: transacciones en php ?

Las transacciones son un característica de tu RDBMS, no de PHP, es por eso que siempre las tienes que hacer a nivel SQL.

Saludos.

Etiquetas: transacciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:16.