Foros del Web » Programando para Internet » PHP »

Ayuda urgente!! Procedimiento Almacenado y PHP

Estas en el tema de Ayuda urgente!! Procedimiento Almacenado y PHP en el foro de PHP en Foros del Web. Tengo el siguiente problema: Necesito recepcionar el valor de una variable que tengo declarada en un Procedimiento Almacenado de SQL Server a una variable que ...
  #1 (permalink)  
Antiguo 02/03/2005, 07:00
 
Fecha de Ingreso: enero-2005
Mensajes: 10
Antigüedad: 12 años, 10 meses
Puntos: 0
Busqueda Ayuda urgente!! Procedimiento Almacenado y PHP

Tengo el siguiente problema: Necesito recepcionar el valor de una variable que tengo declarada en un Procedimiento Almacenado de SQL Server a una variable que tengo declarada en PHP.

Ej:
Procedimiento Almacenado
--variable
@enviar_variable_a_php numeric(4,0),


PHP
//variable
$recepcionada_desde_procedimiento_almacenado

En palabras simples necesito las funciones de enviar valor en SQL Server y recepcionar valor en PHP. Es un trabajo para mi tesis y ya me queda poco tiempo.

Última edición por viejito_kike; 02/03/2005 a las 07:40
  #2 (permalink)  
Antiguo 02/03/2005, 07:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
No sé como usas MS SQL Server con PHP .. pues puedes usar las funciones nativas de PHP (con su extensión) mssql_xxx() .. o puedes usar ODBC (un cuello de botella para este caso) .. o alguna capa de abastracción de BD como ADOdb por ejemplo ..

En principio .. para acceder a un "store procedure" (procedimiento almacenado) lo haces ejecutandolo con la función:

mssql_execute()
http://php.planetmirror.com/manual/e...ql-execute.php

Tienes ejemplos en los comentarios de los usuarios de dicha función .. Todo depende de lo que devuelva esa ejecución de tu procedimiento, tendrás que usar otras funciones más o sólo esa ..

Un saludo,
  #3 (permalink)  
Antiguo 02/03/2005, 07:43
 
Fecha de Ingreso: enero-2005
Mensajes: 10
Antigüedad: 12 años, 10 meses
Puntos: 0
Estoy ocupando mssql_xxx() ... Digamos q no tengo problemas con la ejecución ni con el envio de los parametros, el problemas es estoy ocupando Procedimientos Almacenados porque la aplicación debe manejar bloque da transacción, pero el problema q el usuario debe saber si se ejecuto un rollback o commint y le tiene q avisar desde PHP.
  #4 (permalink)  
Antiguo 02/03/2005, 08:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ok .. en ese caso (no uso MS SQL Server aclaro ..) tendrías que hacer tu consulta SQL pertinente (si es que existe) para obtener dicho valor. PHP sólo es (en general) un "intermediario" con tu BD .. directamente el no puede determinar algo que suceda en la "Base de datos" (como ese estado) .. pero tal vez es probable que vía SQL tengas algún comando para "preguntar" el estado de tal transacción o ejecución de un procedimiento .. Cuando lo tengas .. ejecutaras dicho comando con alguna función tipo mssql_exec() o un mssql_query() según corresponda ...

Podrías consultar en el foro de "Base de datos" también ..

Un saludo,
  #5 (permalink)  
Antiguo 02/03/2005, 08:14
 
Fecha de Ingreso: enero-2005
Mensajes: 10
Antigüedad: 12 años, 10 meses
Puntos: 0
Gracias, eso voy a hacer, ¿pero si alguien tiene otra idea?
  #6 (permalink)  
Antiguo 02/03/2005, 15:37
 
Fecha de Ingreso: enero-2005
Mensajes: 10
Antigüedad: 12 años, 10 meses
Puntos: 0
Ok...despues de varias hora, el asunto es asi:
El el SP con la funcion RETURN le devuelve un valor al PHP, EJ: RETURN 2 que hace, retorna un 2, claro está. Ahora, como le sacamos el jugo a esto, por ejemplo si queremos saber si nuestro SP hace ROLLBACK o COMMIT, para q el usuario sepa q ocurrio, despues de el COMMIT escribo RETURN 2 y cuando llegue al manejo de error en que se ejecutara un ROLLBACK coloco un RETURN 1
Ahora, en el PHP en el caso de un INSERT esto quedaría de la siguiente manera:

if((@mssql_execute($query))!=2)
{
echo "Se ejecuto ROLLBACK";
}
else
{
echo "Se ejecuto COMMIT";
}

Ok... es todo
Saludos

Última edición por viejito_kike; 02/03/2005 a las 20:11
  #7 (permalink)  
Antiguo 03/03/2005, 07:54
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Para completar un poco el tema .. podrías poner como quedaría también el procedimiento de SQL Server también con los "return" que mencionas y el uso del COMMIT y demás ...

Un saludo,
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 19:13.