Foros del Web » Programando para Internet » PHP »

PHP5 y stored procedures

Estas en el tema de PHP5 y stored procedures en el foro de PHP en Foros del Web. Hola, Estoy trabajando con php5 y mysql 5.0 el cual ya tiene soporte a procedimientos almacenados :). El problema que tengo especificamente es que no ...
  #1 (permalink)  
Antiguo 17/07/2006, 12:10
 
Fecha de Ingreso: julio-2006
Mensajes: 1
Antigüedad: 11 años, 5 meses
Puntos: 0
PHP5 y stored procedures

Hola,

Estoy trabajando con php5 y mysql 5.0 el cual ya tiene soporte a procedimientos almacenados :). El problema que tengo especificamente es que no encuentro ejemplo alguno de como invocar procedimientos almacenados desde php5, si he encontrado algunos ejemplos que trabajan para sql server y oracle....pero ninguno para mysql...y no logro adaptar algunos de los ejemplos antes mencionados para que funcionen con mysql....agradeceria si alguien puede orientarme un poco, ya que he buscado en php.net, el libro php and mysql bible, muchos foros(incluyendo este) y no he encontrado ningun ejemplo. Una alternativa podria ser que adjunte el codigo y los ejemplos que tengo para deasarrollar una version funcional aqui en el foro.En fin....de antemano muchas gracias

saludos a todos.
  #2 (permalink)  
Antiguo 17/07/2006, 12:55
 
Fecha de Ingreso: diciembre-2003
Mensajes: 213
Antigüedad: 14 años
Puntos: 0
re procedimientos almacenados

Hola!!!

La verdad es que aun no he trabajado con procedimientos almacenados en mysql, pero te respondo porque llevo un tiempo trabajando con postgresql que sí contempla procedimientos hace tiempo.
Al menos en este sistema para ejecutar un procedimiento no hay que hacer nada distinto a cuando lanzas una consulta, a lo mejor esto también te sirve a ti.

Si en MySql un procedimiento se ejecuta asi:
call spMySproc(1,1);
Has probado a hacer mysql_query("call spMySproc(1,1)");

No se, a lo mejor estoy diciendo una totería, pero tampoco veo el por qué no debería funcionar. Despues de todo php le enviará ese string al mysql y si este lo entiende lo ejecutará. Supongo.
  #3 (permalink)  
Antiguo 17/07/2006, 13:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En principio necesitarías usar la extensión mysqli (no mysql) para poder usar los "Store procedure" de Mysql 5.x:

www.php.net/mysqli

La sinxtax SQL de los "Store procedure" de Mysql 5 sería:
http://dev.mysql.com/doc/refman/5.0/...rocedures.html

Y su uso con PHP 5.x .. Un ejemplo lo tienes en la documentación oficial de PHP (en los comentarios de los usuarios) de funciones como mysqli_query() y/o mysqli_multi_query():

http://www.php.net/manual/en/functio...ulti-query.php
http://www.php.net/manual/en/function.mysqli-query.php

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 17/07/2006, 13:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por kurlax
Hola!!!

La verdad es que aun no he trabajado con procedimientos almacenados en mysql, pero te respondo porque llevo un tiempo trabajando con postgresql que sí contempla procedimientos hace tiempo.
Al menos en este sistema para ejecutar un procedimiento no hay que hacer nada distinto a cuando lanzas una consulta, a lo mejor esto también te sirve a ti.

Si en MySql un procedimiento se ejecuta asi:
call spMySproc(1,1);
Has probado a hacer mysql_query("call spMySproc(1,1)");

No se, a lo mejor estoy diciendo una totería, pero tampoco veo el por qué no debería funcionar. Despues de todo php le enviará ese string al mysql y si este lo entiende lo ejecutará. Supongo.
Sería así .. la sintax SQL es similar o identica ...

El detalle está en usar las extensiones "mysqli" que funcionan con las nuevas librerías (cliente) de Mysql para poder usar la potencialidad que ofrece Mysql 4.x en adelante (y sobre todo para Mysql 5.x con PHP 5.x)

Las funciones mysql_xxxx() no usan el cliente "nuevo" .. (aunque no lo he probado .. así aseguran en todos lados que es .. sería bueno salir de duda para quien tenga oportunidad de probarlo).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 00:58.