PHP: ¿Cómo puedo ejecutar procedimientos almacenados desde php hacia MS SQL?
De Foros del Web
Pues lo único que se necesita es ejecutar un par de instrucciones del tipo mssql_xxxx y listo, les dejo un ejemplo.
Código PHP:
<? $msuscriptor_numero='79714306'; $msuscriptor_nombre=""; $db_conexion= mssql_connect(host, user, pass) or die("No se pudo conectar a la Base de datos"); mssql_select_db("base de datos") or die(mssql_error()); $stmt=mssql_init("buscarXnumero",$db_conexion); //buscar por numero es el nombre del procedimiento almacenado [b]//aqui agregados los parametros de entrada[/b] mssql_bind($stmt,"@suscriptor_numero",$msuscriptor_numero,SQLINT4); [b]//aqui agregamos los parametros de salida[/b] mssql_bind($stmt,"@suscriptor_nombre",&$msuscriptor_nombre,SQLVARCHAR,TRUE,False,50); [b]//aqui agregamos el parametro return del procedimiento almacenado[/b] mssql_bind($stmt,"RETVAL",&$filas,SQLINT4); [b]aqui ejecutamos el procedimiento almacenado [/b] mssql_execute($stmt); echo "<h2>numero ".$msuscriptor_numero." Nombre ".$msuscriptor_nombre." </h2>"; mssql_close($db_conexion); ?>
Básicamente con la instruccion INIT inicializamos la llamada al procedimiento almacenado. con bind agregamos nuestros parámetros, ojo, si son de entrada, enviamos nuestras variables PHP directamente mssql_bind($stmt,"@suscriptor_numero",$msuscriptor _numero,SQLINT4); pero si nos va a retornar un valor, debemos pasarlo por referencia mssql_bind($stmt,"@suscriptor_nombre",&$msuscripto r_nombre,SQLVARCHAR,TRUE,False,50);
--xcars 06 Jun 2005
Este artículo es parte de las FAQs de PHP y el Manual de PHP.
- Indice de las FAQs: Conceptos, Configuración, Formularios, Manejo de Archivos, Integración con Bases de Datos, Sesiones, Extensiones y Librerías, Seguridad, Funciones, Clases y Objetos, Frameworks
- Recomendamos también: Guía Zend, Frameworks PHP, Aceleradores PHP
- Agregar al FAQ: PHP: Instrucciones para agregar una pregunta al FAQ de PHP
- Para preguntas sobre PHP: Foro de Php
