Título: Insertar datos con php avanzado Publicado por: ppfenix79 en 16 Febrero 2016, 20:25 pm Hola tengo un problema al insertar datos de un formulario a mi tabla no se cual sea el problema pero nose si me pofrian ayudar seria de gran ayuda..
Código
En los dos inputs primero inputs recojo nombres de mi base de datos de usuario su nombre y apellido donde el ID se llama email, luego donde dice asunto y texto coloco lo que voy a enviar. Despues de eso lo inserto en una tabla MENSAJES y con las tablase de : idp(pk), email(fk), emailamigo(fk), leido, fecha, asunto, texto... En la consulta de insert into es donde falla pero nose en donde les agradeceria si me ayudarian GRACIAS... Mod: Los códigos deben ir en etiquetas GeSHi Título: Re: Insertar datos con php avanzado Publicado por: engel lex en 16 Febrero 2016, 21:06 pm Citar Insertar datos con php avanzado no quiero que te sientas insultado... pero esto no es php avanzado... es una practica bastante básica, no tiene más array que el POST, ni tiene objetos... Citar no se cual sea el problema primero que nada, ya no se recomienda el uso de la extensión mysql, se recomienda migrar a mysqli o mysql_pdo, la extensión vieja quedará obsoleta en las proximas versiones de php por otro lado, para simplificar el código recomiendo cambiar la query y colocarla así Código
ya que php si interpreta las variables dentro de comillas dobles... por ultimo... puedes tratar de reportar el error, para leerlo bien Código
Título: Re: Insertar datos con php avanzado Publicado por: ppfenix79 en 17 Febrero 2016, 14:39 pm Gracias y ya se que es una consulta basica pero para mi esto es muy avanzado ,.,.pero igual voy a probar con tu ayuda .,,.pero en los campos de los inputs de de email y emailamigo yo no coloco los correros sino que coloco los nombres de una tabla usuario y al tratar de insertarlas en mi tabla mensaje quiero que vaya el id que seria sus emails y no el nombre que coloco en los inputs como podria cambiar eso o igual nomas inserta en los campos???
Consulta no válida: Cannot add or update a child row: a foreign key constraint fails (`bd_racsole`.`mensajes`, CONSTRAINT `mensajes_ibfk_3` FOREIGN KEY (`email`) REFERENCES `usuario` (`email`) ON DELETE CASCADE ON UPDATE CASCADE) ese es el error que tengo al hacer como me dijiste haber si me lo puedes solucionar,.,.,. Mod: No hagas doble post, usa el boton "editar" Título: Re: Insertar datos con php avanzado Publicado por: engel lex en 17 Febrero 2016, 15:04 pm Citar Cannot add or update a child row: a foreign key constraint fails (`bd_racsole`.`mensajes`, CONSTRAINT `mensajes_ibfk_3` FOREIGN KEY (`email`) REFERENCES `usuario` (`email`) ON DELETE CASCADE ON UPDATE CASCADE) te traduzco el mensaje no se puede añadir o actualizar una columna hija: una restriccion de foreign key ha fallado es decir, estás usando foreign keys y no estás actualizando apropiadamente... si no sabes que es una FK, entonces revisa la tabla y quitaselas Título: Re: Insertar datos con php avanzado Publicado por: ppfenix79 en 17 Febrero 2016, 15:43 pm Mmmm haber el problema es el siguiente:
tabla 1= usuario email(50) (pk)//Aqui almaceno los correos como su id principal nombre(30) //Su nombre apellido(30)//Su apellido tabla 2= mensajes cod_men int (pk)// su id de cada mesaje email(fk)//aqui donde obtengo el id de la tabla usuario osea su email emailamigo(fk)/*aqui donde obtengo el id de la tabla usuario osea su email pero cambio el nombre para difereciar los nombres nada mas*/ leido(2)//aqui solo dos consultas el SI o NO para ver si lo ha leido o no. fecha_mensajes DATE//la fecha en que se envia el mensaje asunto(100)//El asunto del mensaje texto TEXT//Y el mensaje Ahora hago el form para enviar datos; Código
Mod: Los códigos deben ir en etiquetas GeSHi Título: Re: Insertar datos con php avanzado Publicado por: engel lex en 17 Febrero 2016, 15:53 pm recuerda usar las etiquetas GeSHi al publicar código...
responde puntualmente, de manera enumeraday precisa, con tu palabras lo siguiente sabes que son las fk? sabes como se usan las fk? para que usas las fk en esta tabla? Título: Re: Insertar datos con php avanzado Publicado por: d91 en 17 Febrero 2016, 16:04 pm hola, según entiendo tienes una tabla donde están registrados los usuarios con su email, esa seria la tabla padre y como la tabla mensaje tiene una foreign key y apunta hacia la tabla usuarios seria la tabla hija, por lo tanto primero debe existir un registro en la tabla usuario para poder llenar registros en la tabla mensajes, o puede que exista un disparador y no lo estes tomando en cuenta
Título: Re: Insertar datos con php avanzado Publicado por: ppfenix79 en 17 Febrero 2016, 16:14 pm Citar recuerda usar las etiquetas GeSHi al publicar código... responde puntualmente, de manera enumeraday precisa, con tu palabras lo siguiente sabes que son las fk? sabes como se usan las fk? para que usas las fk en esta tabla? 1.- Es una limitacion referencial, es la que se refiere a una columna de otra tabla maestra y esa talba debe tener una clave primaria. 2.- A la tabla hija se coloca una clave foranea, esa debe ser de la tabla padre su clave principal asi se hara el vinculo de padre e hija. 3.- Para que los en mi tabla mensajes tenga guardado los datos del emisor y receptor, del que envia el mensaje y para quien es ese mensaje asi cuando el otro vea que mensaje es y de quien la envia. ammm nose si esta bien pero haber ojala haya aprobado. hola, según entiendo tienes una tabla donde están registrados los usuarios con su email, esa seria la tabla padre y como la tabla mensaje tiene una foreign key y apunta hacia la tabla usuarios seria la tabla hija, por lo tanto primero debe existir un registro en la tabla usuario para poder llenar registros en la tabla mensajes, o puede que exista un disparador y no lo estes tomando en cuenta Si hay datos en la tabla usuarios, pero los inputs coloco esos datos que hay el nombre y el apellido pero no sus correos cuando inserto hay recien quiero que coloque sus correos y asi veo en la tabla usuario de quen es el correro y veo su nombre y su apellido del quien envia o al que se envio... Título: Re: Insertar datos con php avanzado Publicado por: engel lex en 17 Febrero 2016, 16:43 pm no hagas doble post usa el boton editar (como ya e dije arriba)
tus respuestas son correctas para la teoría... la cosa es que hay que saber usarlas, si no te da problemas... lo que dice d91 es cierto... a menos que vayas a usa TRIGGER o CASCADE en mysql no uses fk, ya que practicamente no tienen uso real fuera de eso y recibir alertas Título: Re: Insertar datos con php avanzado Publicado por: ppfenix79 en 17 Febrero 2016, 17:01 pm no hagas doble post usa el boton editar (como ya e dije arriba) tus respuestas son correctas para la teoría... la cosa es que hay que saber usarlas, si no te da problemas... lo que dice d91 es cierto... a menos que vayas a usa TRIGGER o CASCADE en mysql no uses fk, ya que practicamente no tienen uso real fuera de eso y recibir alertas Ammm ok aunque esperaba una respuesta de lo resolvi debes hacer asi...pero igual tratare entender mejor la clves y las relaciones pero de todos modos gracias por las ayudas estoy agradecido ,.,.ojala logre resolverlo pronto para mi examen ggg |