Foros del Web » Programando para Internet » PHP »

Problemas con los procedimientos almacenados.

Estas en el tema de Problemas con los procedimientos almacenados. en el foro de PHP en Foros del Web. Hola a todos. En mi trabajo tenemos una bd y esta posee algunos procedimientos almacenados. Pues bien, quiero aprovechar uno de ellos para mostrar información ...
  #1 (permalink)  
Antiguo 12/07/2006, 06:53
 
Fecha de Ingreso: julio-2003
Mensajes: 240
Antigüedad: 14 años, 5 meses
Puntos: 1
Problemas con los procedimientos almacenados.

Hola a todos.

En mi trabajo tenemos una bd y esta posee algunos procedimientos almacenados. Pues bien, quiero aprovechar uno de ellos para mostrar información en una web que estoy desarrollando en PHP.

Problema: Ejecutar un procedimiento almacenado desde PHP.

Tengo tooo este código:

Código PHP:
$myServer "10...... ip de mi server"
$myUser "sa"
$myPass "*c*o*n*f*i*d*e*n*c*i*a*l*:P "
$myDB "nombreBD"

$s = @mssql_connect($myServer$myUser$myPass) or die("No hay conexión con la base de datos."); 

$d = @mssql_select_db($myDB$s) or die("Hay problemas para abrir la base de datos. "); 


$stmt=mssql_init("Nombre_Proc_Alm",$s) or 
die (
"Hay problemas para conectar a Stored Procedure. "); 

// Inicializo los parámetros de entrada: 

    
$BuscarAño='2006'
    
$BuscarMes ='01'
    
$BuscarSemana ='01'
    

// Aquí agregados los parametros de entrada 
    
mssql_bind($stmt"@BuscarAño"$BuscarAoSQLVARCHARTRUE) or die("parametro 1"); 
mssql_bind($stmt"@BuscarMes"$BuscarMesSQLVARCHARTRUE) or die("parametro 2"); 
mssql_bind($stmt"@BuscarSemana"$BuscarSemanaSQLVARCHARTRUE) or die("parametro 3"); 


// Parametro de salida 
mssql_bind($stmt"@TotalExpEd"$TotalExpEd,SQLVARCHAR,TRUE) or die("parametro 7"); 


//Aquí ejecutamos el procedimiento almacenado 

 
$result = @mssql_execute($stmt) or die ("Hay problemas para ejecutar el stored procedure. "); 

Me da error en esta última sentencia.
Lo he probado con y sin la @.

¿Alguna idea? Si os hace falta os pongo el código del procedimiento almacenado, pero primero quería saber si hago bien el acceso-ejecución.
He probado que la consulta al procedimiento almacenado devuelve datos con el "Analizador de consultas SQL" del MS SQL Server, para ver que todo andaba bien.

He intentado que me muestre el error, con echo mssql_error() o añadiendo "or die(mssql_error() )

Esto tampoco genera nada:
$num_rows_sel = mssql_num_rows($result);
echo $num_rows_sel;

He añadido esto después de la ejecución y nada:
mssql_next_result($result);


He revisado todo esto: (FAQs y foro)
http://www.forosdelweb.com/f18/paginacion-php-ms-sql-357700/

http://www.forosdelweb.com/showpost....&postcount=148

Pero no soy capaz

Espero que puedan iluminarme, bien iluminado.
Muchas gracias, un saludetteeeee
  #2 (permalink)  
Antiguo 12/07/2006, 08:50
 
Fecha de Ingreso: julio-2003
Mensajes: 240
Antigüedad: 14 años, 5 meses
Puntos: 1
Hola, perdón a TODO el foro, error en los parámetros.

Sólo hay que cambiar una cosita a la hora de añadir los parámetros:
Código PHP:
 mssql_bind($stmt"@BuscarAo"$BuscarAoSQLVARCHARTRUE) or 
die(
"parametro 1");


 
mssql_bind($stmt"@BuscarAo"$BuscarAoSQLVARCHAR) or 
die(
"parametro 1"); 
Con esto ya funciona todo bien, no me fijé, menudo patán estoy hecho

Pues nada, un saludo a todos.
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 14:32.