Mysqli - Mysql - PHP - Stored Procedures
Nuestro buen amigo Max le dió seguimiento a esta onda de llamar a los stored procedures de Mysql desde PHP.
El mismo me ayudó con la instalación de Mysqli para poder ejecutarlos, y aparte por su cuenta hizó pruebas sin
instalar Mysqli.
En un ejemplo q me envió, en la parte de la llamada al procedimiento vía Adodb (y algunas funciones q el mismo hizó)
se obtiene el resultado deseado sin utilizar mysqli, aki la llamada:
...
$db->fetchAll('CALL simpleproc(@a)'); //fetchAll() funciones propias de max jejej
$rows = $db->fetchAll('select @a');
print_r($rows);
?>
---------------------------------------------------------------------------------
Posteriormente otra solución comentada por Max fue hacer una conexión especial mediante la siguiente línea:
$dsn = "$data_base://$user:$passwd@$host/$db_name?clientflags=65536";
Quedando los parámetros así:
$data_base = 'mysql'; //sin ocupar mysqli
$user = 'root';
$passwd = '';
$host = 'localhost';
$db_name = 'pers';
$db = ADONewConnection("$data_base://$user:$passwd@$host/$db_name?clientflags=65536");
$row = $db->execute("CALL select_emps()");
Dando lo resultados deseados sin ocupar Mysqli.
Moraleja: no es necesario instalar Mysqli para poder ejecutar sotred Procedures desde PHP.
Esto fue la onda HOOOOOOOOOOOOOOOOOOOOOO!!! :O
Gracias Max x los tips aki kedan guardados a disposición pública (aunke no muy explicitos p q pregunten jejej)!!
El mismo me ayudó con la instalación de Mysqli para poder ejecutarlos, y aparte por su cuenta hizó pruebas sin
instalar Mysqli.
En un ejemplo q me envió, en la parte de la llamada al procedimiento vía Adodb (y algunas funciones q el mismo hizó)
se obtiene el resultado deseado sin utilizar mysqli, aki la llamada:
...
$db->fetchAll('CALL simpleproc(@a)'); //fetchAll() funciones propias de max jejej
$rows = $db->fetchAll('select @a');
print_r($rows);
?>
---------------------------------------------------------------------------------
Posteriormente otra solución comentada por Max fue hacer una conexión especial mediante la siguiente línea:
$dsn = "$data_base://$user:$passwd@$host/$db_name?clientflags=65536";
Quedando los parámetros así:
$data_base = 'mysql'; //sin ocupar mysqli
$user = 'root';
$passwd = '';
$host = 'localhost';
$db_name = 'pers';
$db = ADONewConnection("$data_base://$user:$passwd@$host/$db_name?clientflags=65536");
$row = $db->execute("CALL select_emps()");
Dando lo resultados deseados sin ocupar Mysqli.
Moraleja: no es necesario instalar Mysqli para poder ejecutar sotred Procedures desde PHP.
Esto fue la onda HOOOOOOOOOOOOOOOOOOOOOO!!! :O
Gracias Max x los tips aki kedan guardados a disposición pública (aunke no muy explicitos p q pregunten jejej)!!
15 Comments:
hola yo tambien estoy usando la libreria de adodb para poder acceder a mysql y usar procedimientos almacenadas el hecho es que cuando ejecuto php me da error te agradeceria si me haces llegar los escripts de tus estore procedure y de las funciones en php con las que ejecutas el store procedure segun veo no tuviste ningun error
By Leotrux, at 9:31 AM
Q error sale? a donde los envío?
By Alberto duke12, at 9:33 AM
por favor enviame los scripts a leo1_gvh@hotmail.com
gracias
By Leotrux, at 12:55 PM
porfavor tambien me podrias enviar a mi los script de php, tambien tengo las mismas dudas te lo agrdesco de antemano, mi correo kikegrafico@gmail.com
By Luis Enrique Zambrano, at 10:06 AM
hola estoy probando los scripts que me enviaste pero tengo el siguiente error
can't return a result set in the given
context
los ejecute tal cual estan no modifique nada en lo absoluto en los scripts. me podrias explicar pq este error?
By leo_25, at 11:49 AM
Disculpen hay alguna manera de utilizar los Store Procedures de Mysql sin usar la librería de adodb?... uso las funciones mysql_connect(ip, user, pass) para establecer mi conexión. Gracias
By Anonymous, at 1:29 PM
disculpen tengo mysql 5.0 y php la conexion la hago mediante un archivo php que me valida esto y lo que quiero es ejecutar un stored procedure para insertar, tiene varios parametros como, nombre, apellido, y edad por ejemplo; como puedo hacer para crear y ejecutar un stored procedure que tenga varios parametros, gracias.
By Ing. Misael Ochoa M., at 1:50 AM
La solucion que Max le da al uso de Procedimientos Almacenados usando Adodb sin tener que usar MySQLi esta genial. En realidad me sirvio de mucho. Al final la linea me quedo asi:
$this->link = &ADONewConnection("$this->dbtype://$this->username:$this->password@$this->server/$this->db?clientflags=65536");
By agomez, at 9:45 AM
Hola yo tambien estoy incursionando con los stores en php tengo un problema al ejecutar 2 consecutivos en la misma pagina. Solo me muestra los resultados del primero. y el segundo nunca lo ejecuta por ahora para solucionarlo cierro la conexion y la vuelvo a abrir. Desde ya muchas gracias
By Gustavo, at 11:24 AM
cuando realizas una consulta mediante store procedure tienes que darle una conexion al la DB para cada Store Procedure es decir si en un scritp tienes dos store procedure tendrias que realizar algo asi:
require('tu conexion a mysql');
tus funciones para realizar la consulta 1
require('tu conexion a mysql');
tus funciones para realizar la consulta 2
bueno a mi me resulto no es nada ortodoxo pero para probar te funciona.
By the Marvel Ship, at 11:54 AM
hola chicos...... yo tambien necesito el script de ejemplo.... tengo un procedimiento almacenado y cuando lo ejecuto siguiendo este ejemplo me da error.... me dice que no se puede retornar un resulset en ese contexto.... no tengo idea de pk me dice eso.... cualkier ayuda seria genial....
By Anonymous, at 3:54 AM
Hola,tengo problemas al ejecutar 2 procedimientos almacenados de mysql, ejecuta el primero sin problemas, pero el segundo no hay forma de ejecutarlo, en el mismo codigo no tengo ese problema con los de SQLserver,ejecuta 2 sin problema...por favor alguna sugerencia....PD: Probe ejecutandolos con la clase Fechtall y con adodb, en este momento uso la ultima, en ambas pasa lo mismo.
By kuroro, at 1:52 PM
Que yo tambien quiero el script para ejecutar un store procedure MySql desde php, si me lo puedes enviar a dudoso@adinet.com.uy por favor y desde ya muchas gracias!!
By Anonymous, at 12:51 PM
Podrían enviarme a mí también el script por favor. ofeliamp@gmail.com
Muchas gracias!!
By Anonymous, at 5:07 AM
Hola, yo si uso adoDB, ya me conecta a mi base de datos, dandole una direccion IP y puedo hacer select de tablas, pero ahora necesito llamar un SP (procedimiento almacenado) y no he encontrado la manera de imprimir la información que el mismo genera. Sera que pueden ayudarme?!
Nota: No uso mysqli
By Prof Espinoza, at 11:03 AM
Post a Comment
<< Home