Foros del Web » Programando para Internet » PHP »

manejo de mssql_bind

Estas en el tema de manejo de mssql_bind en el foro de PHP en Foros del Web. hola a todos: Les quisiera pedir ayuda para poder utilizar esta pequeña funcion que estoy haciendo paraejecutar un stored procedure en microsoft sql server y ...
  #1 (permalink)  
Antiguo 13/12/2007, 12:50
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, Trabajo
Mensajes: 8
Antigüedad: 16 años, 9 meses
Puntos: 0
manejo de mssql_bind

hola a todos:

Les quisiera pedir ayuda para poder utilizar esta pequeña funcion que estoy haciendo paraejecutar un stored procedure en microsoft sql server y el problema es el siguiente.

Fatal error: Only variables can be passed by reference in

aqui les pongo el codigo para ver que cual es el error, si es un problema tonto porfavor respondan soy nuevo en PHP.

<?php
function almacenar(){
$conecta = mssql_connect ("192.168.1.84", "sa", "");
mssql_select_db("datosgenerales");
$db= "datosgenerales";
$sp= mssql_init("altareg");
mssql_bind("$sp", "@nombre", "Pablo", SQLchar(30), false);
mssql_bind("$sp", "@app", "Neruda", SQLchar(30), false);
mssql_bind("$sp", "@apm", "Alcantara", SQLchar(30), false);
mssql_bind("$sp", "@direccion", "4454121ss", SQLchar(50), false);
mssql_bind("$sp", "@telefono", "87541296", SQLchar(20), false);
mssql_execute($sp);
unset($query);
echo "Resgistro guardado con exito";
//}
?>

de antemano gracias.

Saludos.
  #2 (permalink)  
Antiguo 13/12/2007, 15:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: manejo de mssql_bind

Tienes que pasarle una variable, no un string es decir:
Código PHP:
$nombre "Pablo";
mssql_bind($sp"@nombre"$nombreSQLCHARfalsefalse30); 
Saludos.
  #3 (permalink)  
Antiguo 14/12/2007, 11:47
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, Trabajo
Mensajes: 8
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: manejo de mssql_bind

hola gracias por la aclaracion pero ahora aparecio otro mensaje de error espero que me puedas ayudar, te dejo el mensaje y el codigo.

de antemano gracias.

Warning: mssql_init(): supplied argument is not a valid MS SQL-Link resource in C:\Intranet\almacenreq\ejemplo\prueba de funciones.php on line 26

Warning: mssql_bind(): supplied argument is not a valid MS SQL-Statement resource in C:\Intranet\almacenreq\ejemplo\prueba de funciones.php on line 27

Warning: mssql_bind(): supplied argument is not a valid MS SQL-Statement resource in C:\Intranet\almacenreq\ejemplo\prueba de funciones.php on line 28

Warning: mssql_bind(): supplied argument is not a valid MS SQL-Statement resource in C:\Intranet\almacenreq\ejemplo\prueba de funciones.php on line 29

Warning: mssql_bind(): supplied argument is not a valid MS SQL-Statement resource in C:\Intranet\almacenreq\ejemplo\prueba de funciones.php on line 30

Warning: mssql_bind(): supplied argument is not a valid MS SQL-Statement resource in C:\Intranet\almacenreq\ejemplo\prueba de funciones.php on line 31

Warning: mssql_execute(): supplied argument is not a valid MS SQL-Statement resource in C:\Intranet\almacenreq\ejemplo\prueba de funciones.php on line 32
Resgistro guardado con exito


aqui el codigo:

function almacenar(){
$nombre= $_POST["nombre"];
$app= $_POST["app"];
$apm= $_POST["apm"];
$dir= $_POST["dire"];
$tel= $_POST["tel"];
$conecta = mssql_connect ("192.168.1.85", "sa", "");
$db= "datosprueba";
mssql_select_db($db);
$sp= mssql_init("altareg", $hola);
mssql_bind($sp, "@nombre", $nombre, SQLchar, false, false, (30));
mssql_bind($sp, "@app", $app, SQLchar, false, false, (30));
mssql_bind($sp, "@apm", $apm, SQLchar, false, false, (30));
mssql_bind($sp, "@direccion", $dir, SQLchar, false, false, (50));
mssql_bind($sp, "@telefono", $tel, SQLchar, false, false, (20));
mssql_execute($sp);
echo "Resgistro guardado con exito";
}
  #4 (permalink)  
Antiguo 14/12/2007, 11:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: manejo de mssql_bind

En esta linea:
Código PHP:
$spmssql_init("altareg"$hola); 
Tienes el error ya que si vez la documentación de MSSQL, el segundo parámetro para mssql_init debe de ser una conexión a la base de datos, tu estas pasando $hola como parámetro y no la tienes definida en ningún lugar de tu script.

Saludos.
  #5 (permalink)  
Antiguo 14/12/2007, 12:12
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, Trabajo
Mensajes: 8
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: manejo de mssql_bind

gracias si acabo de darme cuenta de eso, y pues la ultima de hoy (bueno eso espero ), ya corregi eso y me marca este error:

Warning: mssql_execute() [function.mssql-execute]: message: Formal parameter '@nombre' was defined as OUTPUT but the actual parameter not declared OUTPUT. (severity 16) in

Warning: mssql_execute() [function.mssql-execute]: stored procedure execution failed in

aqui te dejo el codigo:

function almacenar(){
$nombre= $_POST["nombre"];
$app= $_POST["app"];
$apm= $_POST["apm"];
$dir= $_POST["dire"];
$tel= $_POST["tel"];
$conecta = mssql_connect ("192.168.1.85", "sa", "");
$db= "datosprueba";
mssql_select_db($db);
$sp= mssql_init("altareg", $conecta);
mssql_bind($sp, "@nombre", $nombre, SQLCHAR, TRUE, FALSE,(30));
mssql_bind($sp, "@app", $app, SQLCHAR, TRUE, FALSE,(30));
mssql_bind($sp, "@apm", $apm, SQLCHAR, TRUE, FALSE,(30));
mssql_bind($sp, "@direccion", $dir, SQLCHAR, TRUE, FALSE, (50));
mssql_bind($sp, "@telefono", $tel, SQLCHAR, TRUE, FALSE,(20));
mssql_execute($sp);
mssql_close($sp);
}

en serio una disculpa esque soy totalmente nuevo en php y ni idea y tengo este proyecto, de antemano gracias por todo.
  #6 (permalink)  
Antiguo 14/12/2007, 12:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: manejo de mssql_bind

Quiere decir que tu estas pasando el parametro como OUTPUT (en mssql_bind) pero en el Stored Procedure esta declarado como INPUT, asi que debes de cambiar el parametro a False en tu llamada a mssql_bind.

Saludos.
  #7 (permalink)  
Antiguo 14/12/2007, 12:28
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, Trabajo
Mensajes: 8
Antigüedad: 16 años, 9 meses
Puntos: 0
Re: manejo de mssql_bind

hola gracias por todo, ya ha salido de maravilla, eres genial.

Saludos.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 18:03.