Bueno aca un ejemplo tenemos la tabla Persona en una base de datos MySql llamada Prueba
----------
| PRUEBA|
----------
| Id |
-----------
| Nombres|
-----------
| Apellidos|
-----------
Cita: Procedure sp_InsertarPersona(IN Id INTEGER,IN Nombres VARCHAR(50),INT Apellidos VARCHAR(50))
BEGIN
DECLARE a INTEGER;
INSERT INTO persona
VALUES(Id,Nombres,Apellidos);
SET a=(SELECT @@error_count);
IF a=0 THEN
COMMIT;
ELSE
ROLLBACK;
END;
END
Código PHP:
<?php
$link = mysql_connect('localhost', 'root', '1234');
if (!$link) {
die('Not connected : ' . mysql_error());
}
$db_selected = mysql_select_db('test', $link);
if (!$db_selected) {
die ('No se puede utilizar la base de datos test : ' . mysql_error());
}
$query='CALL sp_InsertarPersona(1,"Yoshiro Juan Víctor","Carbajal Cerín")';
$result = mysql_query($query); //este es para MYSQL
//Este sirve tambien para MYSQL
/*
$result = mysql_query('CALL sp_InsertarPersona(1,"Yoshiro Juan Víctor","Carbajal Cerín")');
*/
//Este sirve para SQL SERVER 2000
/*
$result = mysql_query('exec sp_InsertarPersona(1,"Yoshiro Juan Víctor","Carbajal Cerín")');
*/
if (!$result) {
die('Invalid query: ' . mysql_error());
}
?>
para utilizar un procedimiento almacenado en PHP se toma como una sentencia SQL pero de MYSQL ya que el query de SQL SERVER 2000 para utlizar procedimiento almacenado es "EXEC" y en MYSQL es "CALL" y entonces se utiliza la funcion de PHP "mysql_query()" bueno ahi tienen 2 opciones para utilizar "mysql_query()" poniendo el query en otra variable para tener mejor facilidad en realizar el codigo o sino poner la sentencia ya dentro de la funcion, ojala le sirva, bye bye.
Yoshiro Juan Víctor Carbajal Cerín
Ing. de Computacion y Sistemas