Hola chicos, estoy trabajando ahora en esto ...
Tengo creada la tabla estados asi la cual alias esta relacionado con el alias de la tabla users ...
Este es el codigo de la tabla estado
CREATE TABLE `kfernandez`.`estado` (
`id_estado` INT NOT NULL ,
`alias` VARCHAR( 40 ) NOT NULL ,
`contenido` VARCHAR( 200 ) NOT NULL ,
UNIQUE (
`alias`
)
) ENGINE = INNODB;
Y esta relacionado con la tabla users el campo alias de la siguiente manera
ALTER TABLE `estado` ADD FOREIGN KEY ( `alias` ) REFERENCES `kfernandez`.`users` (
`alias`
) ON DELETE CASCADE ON UPDATE CASCADE ;
Entonces mi pregunta es .. en el momento de enviar el estado a la base de datos quiero que el usuario que ha iniciado sesion envie su alias a la bd para poder ser mostrado luego
Entonces el envío funciona de la siguiente manera
<?php
$id_estado = $_POST['id_estado'];
$alias = $_POST['alias'];
$contenido = $_POST['contenido'];
include("../config.php");
$con=mysql_connect($server,$db_user,$db_pass);
if(mysql_select_db($database,$con)){
$consulta ="insert into estado values('$id_estado','$alias','$contenido')";
if(mysql_query($consulta,$con))
{
echo "El estado ha sido publicado correctamente";
}
}
else
echo "No se ha podido publicar el estado";
{
echo mysql_error($con);
}
{
}
?>
Lo que quiero es enviar el alias sin que tenga que ponerlo siempre el usuario..auqneu imagino que será algo de sesiones ....
¿Me explico?Cuando inserto los datos me dice el error siguiente
Cannot add or update a child row: a foreign key constraint fails (`kfernandez`.`estado`, CONSTRAINT `estado_ibfk_1` FOREIGN KEY (`alias`) REFERENCES `users` (`alias`) ON DELETE CASCADE ON UPDATE CASCADE)
Saludos y gracias :)