Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/10/2011, 21:08
Avatar de DanielGoGo
DanielGoGo
 
Fecha de Ingreso: agosto-2011
Mensajes: 15
Antigüedad: 12 años, 8 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!