Transacciones en php

¿Hola experto, como andas?
Te comento que quiero usar transacciones para guardar los datos en la BD
El código que hice es el sig:
----------------------------
require_once "../../includes/cnx.php";
if (isset($_POST["bt_aceptar"])){
          $apellido=$_POST['apellido'];
          $nombre=$_POST['nombre'];
          $importe=$_POST['importe'];
          $doctores=$_POST['doctores'];
          $fech=explode('-',$_POST['fecha']);
          $fecha=$fech[2].'-'.$fech[1].'-'.$fech[0];
     $consulta="INSERT INTO carnet VALUES ";
     $consulta.="('',$doctores,'$fecha','$apellido','$nombre',$importe)";
}    
     mysql_query("BEGIN");
    if (mysql_query($consulta, $con)){
      mysql_query("COMMIT");
     }else{
       mysql_query("ROLLBACK");
}
-----------------------------
Este código carga certificados de carnet
Me gustaría saber si esta bien lo que hice o necesito arreglar algo..
Te comento que el código me carga en la BD un registro, pero me gustaría saber si realmente funciona el código...
Un saludo y gracias desde ya
Diego

2 respuestas

Respuesta
1
Respuesta
1
Así esta mejor
$consulta='INSERT INTO carnet (doctores,fecha,apellido,nombre,importe)
ALUES (\''.$doctores.'\',\''.$fecha.'\',\''.$apellido.'\',\''.$nombre.'\',\''.$importe.'\')';
Hola experto, la verdad que me di cuenta que lo que había hecho arriba, no estaba bien.
Al código lo modifique y lo deje de esta manera. Te comento que anda bien!
<?php
require_once "../../includes/cnx.php";
if (isset($_POST["bt_aceptar"])){
          $apellido=$_POST['apellido'];
          $nombre=$_POST['nombre'];
          $importe=$_POST['importe'];
          $doctores=$_POST['doctores'];
          $fech=explode('-',$_POST['fecha']);
          $fecha=$fech[2].'-'.$fech[1].'-'.$fech[0];
     mysql_query("BEGIN",$con);  
     $consulta="INSERT INTO carnet VALUES ";
     $consulta.="('',$doctores,'$fecha','$apellido','$nombre',$importe)";
    if (mysql_query($consulta,$con)){
      mysql_query("COMMIT",$con);
      echo "funciono";
     }else{
       mysql_query("ROLLBACK",$con);
       echo "no funciono";
}
}
?>
Ahora me gustaría saber que te parece el código...
Es decir funciona pero no tengo modo de saber.
Y la verdad que no entiendo bien lo que hiciste arriba
Espero tu respuesta
Saludos
Diego
Si esta bastante bien. Felicidades buen código...
Me gustaría darte una sugería y esta es programa orientado a objetos, te va a resultar más practico, como y sencillo.
Hola experto!, gracias por contestar.
La ultima pregunta seria, como hago para verificar que en realidad funcionan las transacciones... ¿hay algún método para comprobar eso?
Espero tu respuesta
Saludos
Diego
¿A qué te refieres con que funcionan?
Claro, si realmente existe alguna forma de verificar que als transacciones se realizan
Yo en el código lo probé con un par de if y entraban a los ciclos.
Pero no se en realidad si funciona. Es decir, si se corta la luz realmente va a hacer su trabajo
Saludos
¿La luz?
Pues a fin de cuentas el sitio va estar en un hosting, si tienen alguna falla de caulquiertipo, (hosting), pues eso ya no es problema del desarrollador, es problema del hosting el tan llamado "se cayo el servidor"
Con tu código pues podrías guardar en una variable el mysql_query.
y luego preguntar por la cantidad de registros ingresados pero pos siempre tendrias que hacer un if, y solo a largarias tu codigo---->
Si como lo tienes esta jalando, pues ya no le muevas, estas cosas son cosas de demonio, ahora jalan le cambias lo más mínimo y muere tu código, y te tardas días en recuperarlo---> ya me ha pasado créeme es horrible

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas