PHP - editar con php y sqlsrv

   
Vista:

editar con php y sqlsrv

Publicado por Yessenia (2 intervenciones) el 24/04/2013 01:04:49
Tengo un problema al llamar un procedimiento almacenado desde php usando sqlsrv , el procedimiento recibe 5 parametros y primero inserta en una tabla y luego va a otra a actualizar,este es el código, y no se que estoy haciendo mal. Espero me puedan ayudar

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
<?php
require_once('./Connections/conec.php');
 
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
 
 
$Soc= "FDIS";
$Ru="849";
$Mot="robo";
$Est=(bool)"1";
$Usuario="Mario";
 
$sp_bloqdis = "{call sp_f_webActualizarEstadoHH(?,?,?,?,?)}";
 
 
	$parablo= array(
    array($Ru,SQLSRV_PARAM_IN),
	array($Soc,SQLSRV_PARAM_IN),
	array($Est,SQLSRV_PARAM_IN),
	array($Mot,SQLSRV_PARAM_IN),
	array($Usuario,SQLSRV_PARAM_IN)
 
	);
 
 
$querybloqueo = sqlsrv_query($conexion,$sp_bloqdis, $parablo)or die(print_r(sqlsrv_errors(),true));
 
	echo "numero: ". $num_bloqueados=sqlsrv_rows_affected($querybloqueo);
 
	 if($querybloqueo===false){
 
		 echo '<SCRIPT LANGUAJE="javascript">
	             alert("Ocurrio un error "); 
			</SCRIPT>';
	 }else{
 
		  echo '<SCRIPT LANGUAJE="javascript">
	             alert("exito"); 
			</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
Imágen de perfil de xve

editar con php y sqlsrv

Publicado por xve (5515 intervenciones) el 24/04/2013 09:22:48
Hola Yessenia, no nos comentas que error te da...

Por la construcción de la consulta, a mi lo único que me sobra son los "{}"... yo lo aria así:
1
$sp_bloqdis = "call sp_f_webActualizarEstadoHH(?,?,?,?,?)";


Entiendo que la conexión a la base de datos se ha realizado correctamente...

Si nos puedes comentar con mas detalle...
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

editar con php y sqlsrv

Publicado por Yessenia (2 intervenciones) el 24/04/2013 15:47:56
En realidad no me da ningún error simplemente, no actualiza y yo muestro las filas afectadas y da -1 lo que significa que no se puede determinar el numero de filas afectadas pero revisando la BD no se realizan los cambios. sin embargo la query no muestra ningún error, debo decir que la BD tengo 2 tablas una contiene
idB
Mot
Hora
Fecha
Usuario
Rut
Soc
esta tabla se llena primero y luego se va a esta otra tabla a actualizar el campo est.
Soc
idRut
Est
Lat
Long
idBlo
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
Imágen de perfil de xve

editar con php y sqlsrv

Publicado por xve (5515 intervenciones) el 25/04/2013 08:43:08
Hola Yessenia, entiendo entonces, que el problema esta en el procedimiento del sql, no?
Has probado a ejecutarlo manualmente si te funciona correctamente?
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

editar con php y sqlsrv

Publicado por Freddy Arriaga fredarri@hotmail.com (2 intervenciones) el 30/05/2014 22:45:02
Yessenia, muy buen día ayudeme con ese tema yo tengo el mismo problema, no me actualiza, quisiera saber como lo solucionó. De antemano muchas gracias
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

editar con php y sqlsrv

Publicado por Freddy Arriaga (2 intervenciones) el 04/06/2014 18:35:09
Yo tengo el mismo problema, y aun estoy intentando generar la solucion y no la encuentro si encontraste como solucionarlos Jessenia, te agradeceria que compartas la respuesta. Este es mi codigo que me al llamar al procedimiento no genera nada.


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
try {
 
   error_reporting(E_ALL);
   @ini_set('display_errors', 1);
   $params = array();
   $options =  array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
   include_once("phpConexion.php");
   $con=new Conexion() or die("creando conexion");
 
   $con->conectar();
   $lnTipRol=$_REQUEST['idtiprol'];
   $lnPeriodo=$_REQUEST['periodo'];
 
   $sql = "execute dbo.liquidar_rol" or
   die("Hasta aqui el codigo");
    $stmt = sqlsrv_query($con->db_link, $sql, array( ));
 
    if( $stmt === false ) {
        if( ($errors = sqlsrv_errors() ) != null) {
            foreach( $errors as $error ) {
                echo "SQLSTATE: ".$error[ 'SQLSTATE']."<br />";
                echo "code: ".$error[ 'code']."<br />";
                echo "sql :".$lcSql;
                echo "message: ".$error[ 'message']."<br />";
            }
        }
        sqlsrv_rollback( $con->db_link );
        echo "NO";
    }
    else
    {
        sqlsrv_commit( $con->db_link );
        echo "OK";
    }
 
} catch (Exception $e) {
 
echo 'Excepción capturada: ',  $e->getMessage(), "\n";
 
}
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