Ir para conteúdo
Fórum Script Brasil
  • 0

Erro Em Consulta... Mysql_num_rows()


REALMISTERMIX

Pergunta

Tenho a seguinte consulta:

$query = "SELECT SessionID, U_Name From NetImOn Where LoginTime + 300 > '".$CheckInTime."'" OR DIE(mysql_error());

$result = mysql_query($query);

$numrows = mysql_num_rows($result);

Só que está retornando o seguinte erro:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/teste/public_html/IM/todos.php on line 16

Onde está o erro? Parece que a função mysql_num_rows() está ultrapassada pelo que lí em alguns sites. Se realmente está, qual função devo usar para solucionar este erro?

Aguardo ajuda de vocês e agradeço desde já!

Vlw!

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

Amon-Rá_Beraldo,

Fiz do jeito que você passou mas o erro continua sendo o mesmo.

Tem alguma função que substitui o mysql_num_rows()?

Abaixo está o código mais completo desta página:

mysql_connect($db_hostname,$db_username,$db_password) or die(mysql_error());

mysql_select_db($database) or die(mysql_error());

$CheckInTime = Time();

$query = "SELECT SessionID, U_Name From NetImOn Where LoginTime + 300 > '".$CheckInTime."'" OR DIE(mysql_error());

$result = mysql_query($query);

$numrows = mysql_num_rows($result);

Erro:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/teste/public_html/IM/todos.php on line 16

Nesta outra página da erro também:

<?php

mysql_connect($db_hostname,$db_username,$db_password) or die(mysql_error());

mysql_select_db($database) or die(mysql_error());

$query = "SELECT * FROM NetImOn where U_Name = '".$_GET["uname"]."'" OR DIE(mysql_error());

$result = mysql_query($query);

$numrows = mysql_num_rows($result);

if (trim($numrows) != 0) {

header("Location: erros.php?eid=2"); /* Redireciona */

exit;

}

else {

Session_start();

$S_Id = Session_id();

setcookie("S_ID", $S_Id, time()+3600);

setcookie("IM", $_GET["uname"], time()+3600);

$CheckInTime = Time();

$query=INSERT INTO `NetImOn` (`U_Name`, `LoginTime`, `SessionId`) VALUES ('".$_GET["uname]."', '".$CheckInTime."', '".session_id()."')" or die(mysql_error());

mysql_query($query);

?>

Erro:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/teste/public_html/IM/carrega.php on line 37

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/teste/public_html/IM/carrega.php:3) in /home/teste/public_html/IM/carrega.php on line 43

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/teste/public_html/IM/carrega.php:3) in /home/teste/public_html/IM/carrega.php on line 43

Warning: Cannot modify header information - headers already sent by (output started at /home/teste/public_html/IM/carrega.php:3) in /home/teste/public_html/IM/carrega.php on line 45

Warning: Cannot modify header information - headers already sent by (output started at /home/teste/public_html/IM/carrega.php:3) in /home/teste/public_html/IM/carrega.php on line 46

Aqui está o banco de dados:

CREATE TABLE `netimon` (

`Id` int(4) NOT NULL auto_increment,

`U_Name` varchar(50) NOT NULL default '',

`LoginTime` varchar(50) NOT NULL default '',

`SessionId` varchar(50) NOT NULL default '',

PRIMARY KEY (`Id`)

) TYPE=MyISAM AUTO_INCREMENT=2 ;

# --------------------------------------------------------

#

# Table structure for table `netimreq`

#

CREATE TABLE `netimreq` (

`Id` int(4) NOT NULL auto_increment,

`Session_To` varchar(100) NOT NULL default '',

`Session_From` varchar(100) NOT NULL default '',

`Status` varchar(100) NOT NULL default '',

`Time` varchar(100) NOT NULL default '',

`Name_To` varchar(25) NOT NULL default '',

`Name_From` varchar(25) NOT NULL default '',

PRIMARY KEY (`Id`)

) TYPE=MyISAM AUTO_INCREMENT=1 ;

Será que alguém sabe me dizer onde está o erro? Não consigo identificar.

Vlw!

Link para o comentário
Compartilhar em outros sites

  • 0

O nome da tabela é somente em letras minúsculas, e você está pondo maúsculas no SELECT. Talvez isso esteja dando problema.

Tente colocar o conteúdo ´session_start() (...) em oputra página.

Ficando assim:

if (trim($numrows) != 0) {

header("Location: erros.php?eid=2"); /* Redireciona */

exit;

} else { header("Location: sucesso.php"); }

* Cuidado para não deixar espaõs em branco no script, senão o header() dá erro mesmo

Vai testando aó!

Abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Amon-Rá_Beraldo,

Realmente estava colocando o nome das tabelas errado.

Deixei tudo em minúsculas e agora melhorou.

Mas não deu certo do jeito que você falou para criar uma nova página "sucesso.php"... continuou dando erro...

Retornei como era antes e agora está carregando como deveria depois que arrumei o nome das tabelas mas continua aparecendo este erro:

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/teste/public_html/IM/carrega.php:3) in /home/teste/public_html/IM/carrega.php on line 43

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/teste/public_html/IM/carrega.php:3) in /home/teste/public_html/IM/carrega.php on line 43

Warning: Cannot modify header information - headers already sent by (output started at /home/teste/public_html/IM/carrega.php:3) in /home/teste/public_html/IM/carrega.php on line 45

Warning: Cannot modify header information - headers already sent by (output started at /home/teste/public_html/IM/carrega.php:3) in /home/teste/public_html/IM/carrega.php on line 46

As linhas que estão aparecendo no erro são as que estão em azul:

<?php

mysql_connect($db_hostname,$db_username,$db_password) or die(mysql_error());

mysql_select_db($database) or die(mysql_error());

$query = "SELECT * FROM netimon where U_Name = '".$_GET["uname"]."'" OR DIE(mysql_error());

$result = mysql_query($query);

$numrows = mysql_num_rows($result);

if (trim($numrows) != 0) {

header("Location: erros.php?eid=2"); /* Redireciona*/

exit;

}

else {

Session_start();

$S_Id = Session_id();

setcookie("S_ID", $S_Id, time()+3600);

setcookie("IM", $_GET["uname], time()+3600);

$CheckInTime = Time();

$query="INSERT INTO `netimon` (`U_Name`, `LoginTime`, `SessionId`) VALUES ('".$_GET["uname"]."', '".$CheckInTime."', '".session_id()."')" or die(mysql_error());

mysql_query($query);

?>

Eu fiz o que você falou e criei uma página "sucesso.php" mas aí o erro que dá é justamente na linha:

} else { header("Location: sucesso.php"); }

Tem alguma idéia do que posso fazer?

Vlw!

Link para o comentário
Compartilhar em outros sites

  • 0

não é Session_start(), é session_star()! Com letras minúsculas.

Parte do erro deve estar sendo isso.

Não costumo usar cookies no PHP, então não posso ajudar muito.

Dá uma olhada aqui:

http://br.php.net/manual/pt_BR/index.php (tópicos 35 e 36)

E certifique-se de que não há espaços antes de <?php e depois de ?>. Qualquer espaço pode dar erro nas funções de sessão.

Abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

Bom... meu está dando o mesmo erro. estou fazendo em 2 máquinas, na minha funciona, no servidor da esse erro. atualizei o mysql e funcionou por 1 dia, dps deu pau denovo.. não sei o que faço.

me ajudem por favor!

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

Bom... meu está dando o mesmo erro. estou fazendo em 2 máquinas, na minha funciona, no servidor da esse erro. atualizei o mysql e funcionou por 1 dia, dps deu pau denovo.. não sei o que faço.

me ajudem por favor!

Poste seu código.

[]'s

segue o meu codigo:

<?

$sqlstr2="select dt_fup from tbl_cliente_ocorrencias ";

$sqlstr2.="where dt_fup<'".date("Y-m-d")."' ";

$sqlstr2.="and cod_stat<>3 ";

$sqlstr2.="and cod_stat<>4 ";

$sqlstr2.="and cod_user<>2 ";

$sql = mysql_query($sqlstr2);

$total_negativo = mysql_num_rows($sql);

?>

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...