Foros del Web » Programando para Internet » PHP »

Insert Datos usando Stored Procedures.

Estas en el tema de Insert Datos usando Stored Procedures. en el foro de PHP en Foros del Web. Que tal amigos, Lo que estoy tratando de hacer es insertar datos en una tabla recibiendo los valores desde un formulario en php pero el ...
  #1 (permalink)  
Antiguo 26/10/2011, 14:06
Avatar de josiastech  
Fecha de Ingreso: abril-2011
Ubicación: Guatemala
Mensajes: 4
Antigüedad: 13 años, 7 meses
Puntos: 0
Insert Datos usando Stored Procedures.

Que tal amigos,

Lo que estoy tratando de hacer es insertar datos en una tabla recibiendo los valores desde un formulario en php pero el insert lo hago usando un stored procedure pero el problema que tengo es que no me esta esta recibiendo los valores enviados, estos son enviados por medio de Post.
  #2 (permalink)  
Antiguo 26/10/2011, 14:06
Avatar de josiastech  
Fecha de Ingreso: abril-2011
Ubicación: Guatemala
Mensajes: 4
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Insert Datos usando Stored Procedures.

El codigo del stored es:

CREATE DEFINER=`root`@`localhost` PROCEDURE `nuevapelicula`(
IN pelicula VARCHAR(150),
IN duracion VARCHAR(150),
IN date1 VARCHAR(150),
IN Sinopsis VARCHAR(150)
)
BEGIN
INSERT INTO pelicula (`Nombre_Pelicula`, `Duracion`, `Anio_Produccion`, `Sinopsis`)
VALUES (pelicula,duracion,date1,sinopsis);
END
  #3 (permalink)  
Antiguo 26/10/2011, 14:21
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 16 años, 3 meses
Puntos: 103
Respuesta: Insert Datos usando Stored Procedures.

fijate esto
Cita:
CREATE DEFINER=`root`@`localhost` PROCEDURE `nuevapelicula`(
IN pelicula VARCHAR(150),
IN duracion VARCHAR(150),
IN date1 VARCHAR(150),
IN Sinopsis VARCHAR(150)
)
BEGIN
INSERT INTO pelicula (Nombre_Pelicula , Duracion , Anio_Produccion , Sinopsis)
VALUES ('pelicula','duracion','date1','sinopsis');

END
primero que luego de insert into tabla, van los nombres de las columnas, y no van entre comillas,y en los values si van entre comillas.

despues que no entiendo donde estas metiendo esa info del post, ya que en los values no parece que se este ingesando info, seria algo asi para meter los valores

Código PHP:
Ver original
  1. $pelicula = $_POST['pelicula'];
  2. $duracion = $_POST['duracion'];
  3. $date1 = $_POST['date1'];
  4. $sinopsis = $_POST['sinopsis'];
  5. $query="CREATE DEFINER=`root`@`localhost` PROCEDURE `nuevapelicula`(
  6. IN pelicula VARCHAR(150),
  7. IN duracion VARCHAR(150),
  8. IN date1 VARCHAR(150),
  9. IN Sinopsis VARCHAR(150)
  10. )
  11. BEGIN
  12. INSERT INTO pelicula (Nombre_Pelicula , Duracion , Anio_Produccion , Sinopsis)
  13. VALUES ('".$pelicula."','".$duracion."','".$date1."','".$sinopsis."');
  14. END;";

saludos ;D
  #4 (permalink)  
Antiguo 28/10/2011, 00:32
Avatar de josiastech  
Fecha de Ingreso: abril-2011
Ubicación: Guatemala
Mensajes: 4
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Insert Datos usando Stored Procedures.

Muchas gracias por tu respuesta me dio una idea mucho mas clara de lo que necesito hacer y como lo debo hacer.

ahora bien tengo otra duda si no es mucha molestia. en mi caso el stored procedure ya debe estar en la BD lo que debo hacer es enviar los datos desde el formulario y luego enviar los datos capturados al SP.

estos son los datos capturados.

$pelicula = $_POST['pelicula'];
$duracion = $_POST['duracion'];
$date1 = $_POST['date1'];
$sinopsis = $_POST['sinopsis'];

mi problema es que no se como ejecutar el sp ya creado en directamente en la BD y hacer que reciba los valores.

en tu ejemplo vi que tenias:
INSERT INTO pelicula (Nombre_Pelicula , Duracion , Anio_Produccion , Sinopsis)
VALUES ('".$pelicula."','".$duracion."','".$date1."','".$ sinopsis."');

no se si a la hora de crear esto directamente sobre MySQL reconoce las variables $pelicula.

De nuevo gracias y espero me puedas ayudar.

Etiquetas: mysql, procedure, stored, trigggers
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 20:05.