PHP - begin transaction

 
Vista:
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

begin transaction

Publicado por zendi (1056 intervenciones) el 10/09/2013 18:06:24
buen dia a todos. Estoy intentando actualizar dos tablas simultaneamente con update, y me dicen que debo hacerlo con begin transaction.
Pero quisiera aplicarlo y no se como realizarlo.
les agradezco.
este es el codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?php
$connect = pg_connect("host=172.16.4.9 port=5432 dbname=equipos user=administrador password=Infor*FEDE2013");
	$bina = $_POST['bina'];
    $idequipo = $_POST['idequipo'];
	$nombreEquipo = $_POST['cmbequipo'];
	$serial = ucfirst(strtolower($_POST['serial']));
	$marca = $_POST['cmbmarca'];
	$modelo = $_POST['cmbmodelo'];
	$unidad = $_POST['cmbunidad'];
	$observacion = ucfirst(strtolower($_POST['observacion']));
	$diagnostico = ucfirst(strtolower($_POST['diagnostico']));
	$fecha = $_POST['fecha'];
        $anio =substr($fecha,6,4);
        $mes  =substr($fecha,3,2);
        $dia = substr($fecha,0,2);
        $todo = $anio."-".$mes."-".$dia;
	$frecuencia = $_POST['cmbfrecuencia'];
	$status = $_POST['cmbstatus'];
/////////////
 
    $modifica2 = "UPDATE public.datos_equipos SET id_equipo = '$nombreEquipo',
	                    serial_equipo = '$serial',
					    id_marca = '$marca',
					    id_modelo = '$modelo',
					    id_unidad = '$unidad',
    					observacion = '$observacion',
	    				diagnostico = '$diagnostico',
		    			fecha_reparacion = '$todo',
			    		id_frecuencia = '$frecuencia',
				    	id_status = '$status'
			  	  WHERE bina = $bina";
                  @pg_query($connect,$modifica2);
 
if ($modifica2){
				  echo "<script type='text/javascript'>
				 alert('El registro fue MODIFICADO......');
				 window.location='reportebina.php';
				 </script>";
			  }
/////////////			  
    $modifica = "UPDATE public.reparados SET id_equipo = '$nombreEquipo',
	                    serial_equipo = '$serial',
					    id_marca = '$marca',
					    id_modelo = '$modelo',
					    id_unidad = '$unidad',
    					observacion = '$observacion',
	    				diagnostico = '$diagnostico',
		    			fecha_reparacion = '$todo',
			    		id_frecuencia = '$frecuencia',
				    	id_status = '$status'
			  	  WHERE id = $idequipo";
                  @pg_query($connect,$modifica);
if ($modifica){
				  echo "<script type='text/javascript'>
				 alert('El registro fue MODIFICADO');
				 window.location='reportebina.php';
				 </script>";
			  }
 
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 557
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

begin transaction

Publicado por zendi (1056 intervenciones) el 12/09/2013 02:54:07
estuve leyendo el enlace pero sigo sin entender la sintaxis, y me disculpan mi lentitud.
saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

begin transaction

Publicado por Elier (92 intervenciones) el 12/09/2013 18:43:59
Para iniciar una nueva transaccion tienes que usar BEGIN WORK

pg_query($db, "BEGIN WORK");

$consulta1 = "UPDATE...";

$consulta2 = "UPDATE...";


$res1=pg_query($db, $consulta1);

$res2=pg_query($db, $consulta2);


if ($res1 and $res2) {
pg_query($db, "COMMIT");
} else {
pg_query($db, "ROLLBACK");
}
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar