Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Mateus Coutinho Ferreira

[ERRO] mysql_num_rows() expects parameter 1 to be resource

Recommended Posts

Pessoal, eu fiz um sistema de cadastro mais ta dando o seguinte erro:

 

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /srv/disk6/1364092/www/SITESITESITE/dir/reg.php on line 29

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /srv/disk6/1364092/www/SITESITESITE/dir/reg.php on line 37

 

 

 

reg.php

<?php
  include "sql.php";

         $nome = $_POST["name"];
         $email = $_POST["email"];
         $login = $_POST["login"];
         $senha = $_POST["senha"];
          
          
          
          if(empty($nome)){
            $error = "Digite seu nome completo \n";
          }
          
          if(empty($email)){
            $error = "Digite seu email \n";
          }
          
          if(empty($login)){
            $error = "Digite um login \n";
          }
          
          if(empty($senha)){
            $error = "Digite uma senha \n";
          }

          
          $psqsar1 = mysql_query("SELECT * FROM ".$sql05." WHERE login = ".$login."");
          $cntgem1 = mysql_num_rows($psqsar1);
  
          
          if($cntgem1 = 1){
            $error = "Esse login ja foi escolhido \n";
          }
 
          $psqsar2 = mysql_query("SELECT * FROM ".$sql05." WHERE email = ".$email."");
          $cntgem2 = mysql_num_rows($psqsar2);

          
          if($cntgem2 = 1){
            $error = "Esse email esta em uso \n";
          }
          
         if(isset($error)){
           
           echo '<a href="registro.php">Voltar ao registro</a>';
           echo "<script>alert('ERROS: \n \n ".$error."');</script>";
          }else{
            
        $cdstro = mysql_query("INSERT INTO '$sql05' (nome, login, senha, email)
        VALUES ('$nome','$login','$senha','$email')");
            
            if($cdstro = 1){
              echo '<a href="/">Pagina Inicial</a>';
              echo "<script>alert('Cadastro concluido');</script>";
            }else{
              echo '<a href="registro.php">Tentar novamente</a>';
              echo "<script>alert('Erro no servidor ao se registrar, tente novamente');</script>";
            }
            
          }
          
        ?>

 

 

sql.php

<?php

$sql01     = 'meuhost:3306';
$sql02    = 'usuario';
$sql03    = 'senha';
$sql04    = 'database';
$sql05   = 'tabela';

$sql = mysql_connect ($sql01, $sql02, $sql03);
$dbe = mysql_select_db($sql04);

?>

 

 

 

Alguem pode me ajudar?

Frequentemente tenho poblemas em conectar PHP + SQL :upset:

 

 

OBS.: Uso o plano GRÁTIS do Lead-Hoster

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

A função mysql_query pode estar retornando FALSE porque há um erro em seu SQL. Tente verificar isso:

 

$psqsar1 = mysql_query("SELECT * FROM ".$sql05." WHERE login = ".$login."");

if (!$psqsar1) {
    echo mysql_error();
}


$cntgem1 = mysql_num_rows($psqsar1);


// Faça o mesmo com $psqsar2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou tentar aqui, vlw por responder :joia:



Caramba, deu certo aqui não :upset:

 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /srv/disk6/1364092/www/ownhackers.atwebpages.com/dir/reg.php on line 32

 

 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /srv/disk6/1364092/www/ownhackers.atwebpages.com/dir/reg.php on line 43

 

 

 

linha 32

$cntgem1 = mysql_num_rows($psqsar1);

 

linha43

$cntgem2 = mysql_num_rows($psqsar2);

Compartilhar este post


Link para o post
Compartilhar em outros sites

O objetivo era mostrar esses erros mesmo.

 

Você tem erros no código SQL na duas consultas, mas a mensagem de erro não é muito clara, fica difícil saber sem ver como estão as consulta. Tente ver como estão essas consultas. Antes de declarar $psqsar1, coloque:

 

echo "SELECT * FROM " . $sql05 . " WHERE login = " . $login . "";

 

Faça o mesmo com a outra variável e poste aqui o resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT * FROM usuarios WHERE login = You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /srv/disk6/1364092/www/ownhackers.atwebpages.com/dir/reg.php on line 32
SELECT * FROM usuarios WHERE login = You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /srv/disk6/1364092/www/ownhackers.atwebpages.com/dir/reg.php on line 44


Voltar ao registro



No caso desde o começo o erro é no:

$cntgem1 = mysql_num_rows($psqsar1);  //LINHA 29
$cntgem2 = mysql_num_rows($psqsar2);  //LINHA 38

 

Tá falando que o mysql_query envia resultador BOOLEANOS para o mysql_num_rows que não consegue processar.

----------------------------------------------------------

Eu só quero esse sistema para fazer sorteio, a pessoa registra, vai para o SQL e eu sorteio pelo ID.

Quem ganhar eu mando o prêmio para o E-mail.

 

No caso o prêmio é um codigo.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Cara tenta botar assim...$psqsar1 = mysql_query("SELECT * FROM ".$sql05." WHERE login = '".$login."' ");

aqui tbm

 

$psqsar2 = mysql_query("SELECT * FROM ".$sql05." WHERE email = '".$email."' ");

 

 

Coloque 2 iguais tbm , pq indica sinal de igualdade e um igual indica atribuiçao.

 

 if($cntgem1 == 1){ $error = "Esse login ja foi escolhido \n"; } 

 

aqui tbm

 

 

 if($cntgem2 == 1){ $error = "Esse email esta em uso \n"; }

 

aqui tbm

 

 

 if($cdstro == 1){ echo '<a href="/">Pagina Inicial</a>'; echo "<script>alert('Cadastro concluido');</script>"; }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parece que o problema que é $login está vazia.

 

Tente colocar seu SQL assim

 

"SELECT * FROM " . $sql05 . " WHERE login = '" . $login . "'";

 

Repare que eu apenas adicionei aspas simples para conter o valor da da variável login. Assim a sintaxe do SQL será válida mesmo se a variável estiver vazia.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.