Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá estou tento um poblema a exibir a mensagem que foi enviada para o usuario Logado
<?php
ini_set( 'display_errors', true );
error_reporting( E_ALL );
session_start();
include "../includes/functions.php";
include("../includes/config.php");
require_once('../classes/constantes.php');
require_once('../classes/BD.class.php');
protegePagina();
@BD::conn();
?>
<?php
$id = $_SESSION['id'];
if($id == $_SESSION['id']){
$select_msgs = "SELECT * FROM msgs WHERE para = $id ";
$num_msg = @mysql_num_rows($select_msgs);
if ($num_msg == 0){
}else{
while($ms = mysql_fetch_array($select_msgs)) {
$mensagem = $ms['mensagem'];
$nomere = $ms['nome'];
$sobrenomere = $ms['sobrenome'];
$data = $ms['data'];
?>
<html>
<head>
</head>
<body>
<div id='mensagem'><?php echo $mensagem; ?></div>
</body>
</html>
<?php }}} ?>
Ele não exibe nada!Exibiu mais agora esta dando erro na $select_msgs
Warning: mysql_num_rows() expects parameter 1 to be resource, string given in C:\wamp\www\teste\attributes\messages.php on line 16
Melhor fazer assim:
...
if($id == $_SESSION['id'])
{
$sql = "SELECT * FROM msgs WHERE para = ".(int)$id;
$query = mysql_query($sql);
$rows = @mysql_num_rows($query);
if($rows)
{
while($ms = mysql_fetch_array($query))
{
$mensagem = $ms['mensagem'];
$nomere = $ms['nome'];
$sobrenomere = $ms['sobrenome'];
$data = $ms['data'];
...
?>Continuou o erro estou fazendo mais ou menos assim:
<?php
$id = $_SESSION['id'];
if($id == $_SESSION['id']){
$select_msgs = "SELECT * FROM msgs WHERE para = ".(int)$id;
$num_msg = mysql_num_rows($select_msgs);
$select_msgs = @mysql_query($select_msgs);
if ($num_msg < 0){
echo $id;
}else{
while($ms = mysql_fetch_array($select_msgs)) {
$mensagem = $ms['mensagem'];
$nome = $ms['nome'];
$sobrenome = $ms['sobrenome'];
$data = $ms['data'];
?>
<html>
<head>
</head>
<body>
<div id='de'>De:<?php echo $nome; echo $sobrenome ?></div>
<div id='data'>Data:<?php echo $data ?></div>
<div id='data'>Mensagem:<?php echo $mensagem ?></div>
</body>
</html>
<?php }}} ?>Você colocou a função mysql_query() no lugar errado!
Tente isso:
<?php
$id = $_SESSION['id'];
if($id == $_SESSION['id']){
$sql = "SELECT * FROM msgs WHERE para = ".(int)$id;
$query = mysql_query($sql);
$rows = @mysql_num_rows($query);
if($rows)
{
while($ms = mysql_fetch_array($query))
{
$mensagem = $ms['mensagem'];
$nomere = $ms['nome'];
$sobrenomere = $ms['sobrenome'];
$data = $ms['data'];
?>
<html>
<head>
</head>
<body>
<div id='de'>De:<?php echo $nome; echo $sobrenome ?></div>
<div id='data'>Data:<?php echo $data ?></div>
<div id='data'>Mensagem:<?php echo $mensagem ?></div>
</body>
</html>
<?php }}} ?>Funcionou obrigado!! :natalsmile:
Beleza, estamos aqui pra isso!
Você não executou a query.
Logo depois do 1º "$select_msgs" insira:
$select_msgs = @mysql_query($select_msgs);