Foros del Web » Programando para Internet » PHP »

Stored Procedures con PHP en MySQL

Estas en el tema de Stored Procedures con PHP en MySQL en el foro de PHP en Foros del Web. Hola a todos, he estado tratando de hacer uso de MySQL a través de PHP utilizando procedimientos almacenados o Stored Procedures. En un par de ...
  #1 (permalink)  
Antiguo 30/10/2011, 21:08
Avatar de DanielGoGo  
Fecha de Ingreso: agosto-2011
Mensajes: 15
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta Stored Procedures con PHP en MySQL

Hola a todos, he estado tratando de hacer uso de MySQL a través de PHP utilizando procedimientos almacenados o Stored Procedures.
En un par de ocasiones funciona correctamente y en otras no, no entiendo el porque. Estoy utilizando XAMPP, con la funcionalidad de PHP y MySQL incluida.

Este es el código que funciona correctamente

Código PHP:
$sql "CALL Inserta($var1, $var2, $var3)";
$result mysql_query($sql$link); 
Y el procedimiento Inserta es:

Código:
DELIMITER //
DROP PROCEDURE IF EXISTS `Inserta`//
CREATE PROCEDURE `Inserta`(
       IN var1 INT(5),
       IN var2 VARCHAR(50),
       IN var3 YEAR(4),
)
BEGIN
           INSERT INTO `base_de_datos`.`table`(`col1`, `col2`, `col3`) VALUES (var1, var2, var3);
      END
//
DELIMITER ;
Sin embargo, el siguiente procedimiento almacenado no me funciona:
Código PHP:
$sql "CALL Actualiza($var1, $var2, $var3, $id)";
$result mysql_query($sql$link); 
Con el siguiente procedimiento almacenado:
Código:
DELIMITER //
DROP PROCEDURE IF EXISTS `Actualiza`//
CREATE PROCEDURE `Actualiza`(
       IN var1 INT(5),
       IN var2 VARCHAR(50),
       IN var3 YEAR(4),
       IN id INT(5)
)
BEGIN

UPDATE `base_de_datos`.`tabla` SET `tabla`.`col1` = 'var1', `tabla`.`col2` = 'var2', `tabla`.`col3` = 'var3' WHERE `tabla`.`id_tabla` = 'id';

END
//
DELIMITER ;
La cosa es que dice que se ejecuta con éxito, sin embargo, no modifica en nada la tabla...
Espero me puedan ayudar.
Gracias de antemano por su atención :D!
  #2 (permalink)  
Antiguo 31/10/2011, 06:30
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Stored Procedures con PHP en MySQL

¿probaste el procedure directamente desde el CLI de mysql o algún programa de administración de mysql?

PD: yo recomendaría usar PDO, o a lo sumo mysqli, saludos
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 31/10/2011, 21:44
Avatar de DanielGoGo  
Fecha de Ingreso: agosto-2011
Mensajes: 15
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Stored Procedures con PHP en MySQL

Ya logré resolver mi problema... Lo resolví de la siguiente manera:

Código CODE:
Ver original
  1. DELIMITER //
  2. DROP PROCEDURE IF EXISTS `Actualiza`//
  3. CREATE PROCEDURE `Actualiza`(
  4.        IN var1 INT(5),
  5.        IN var2 VARCHAR(50),
  6.        IN var3 YEAR(4),
  7.        IN id INT(5)
  8. )
  9. BEGIN
  10. SET AUTOCOMMIT = 0;
  11. UPDATE `base_de_datos`.`tabla` SET `tabla`.`col1` = 'var1', `tabla`.`col2` = 'var2', `tabla`.`col3` = 'var3' WHERE `tabla`.`id_tabla` = 'id';
  12. COMMIT;
  13. SET AUTOCOMMIT = 1;
  14. END
  15. //
  16. DELIMITER ;

Gracias a todos por su amable atención!
Espero les sirva!!

Etiquetas: mysql, mysql+php, phpmyadmin, stored-procedure, xampp
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 22:43.