Cita:
Iniciado por gnzsoloyo
y el WHERE como sería? No es que me devuelva error, es que directamente me imprime que no hay registros (que será porque la condición no se cumple). He comprobado la variable y si que imprime el nick del usuario. No entiendo qué hago mal...
Código PHP:
/*
Compruebo si tiene mensajes privados */
$mensajes_unread = $mysqli->query("SELECT * FROM usuarios_mensajes M
INNER JOIN usuarios U1 ON M.id_remitente = U1.id_usuario
INNER JOIN usuarios U2 ON M.id_destino = U2.id_usuario WHERE U1.nick_usuario='$logged' AND mensaje_leido='0'") or die($mysqli->error);
usuarios_mensajes.sql
Código:
CREATE TABLE IF NOT EXISTS `usuarios_mensajes` (
`id_mensaje` int(11) NOT NULL auto_increment,
`id_remitente` int(11) NOT NULL,
`id_destino` int(11) NOT NULL,
`texto_mensaje` text NOT NULL,
`fecha_mensaje` date NOT NULL,
`mensaje_leido` enum('0','1') NOT NULL default '0',
PRIMARY KEY (`id_mensaje`),
KEY `id_destino` (`id_destino`),
KEY `id_remitente` (`id_remitente`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
--
-- Filtros para las tablas descargadas (dump)
--
--
-- Filtros para la tabla `usuarios_mensajes`
--
ALTER TABLE `usuarios_mensajes`
ADD CONSTRAINT `usuarios_mensajes_ibfk_1` FOREIGN KEY (`id_remitente`) REFERENCES `usuarios` (`id_usuario`) ON DELETE NO ACTION ON UPDATE NO ACTION,
ADD CONSTRAINT `usuarios_mensajes_ibfk_2` FOREIGN KEY (`id_destino`) REFERENCES `usuarios` (`id_usuario`) ON DELETE NO ACTION ON UPDATE NO ACTION;
Muchísimas gracias tío, eres una gran ayuda