SkyeLeffer 0 Denunciar post Postado Setembro 4, 2016 Olá.estou tentando montar um site, sou noob e não está gravando no banco de dados. Aparece o seguinte erro: Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp64\www\Bon-Network\classes\Cadastro.class.php on line 14 O QUE ESTOU FAZENDO ERRADO? ME AJUDEM '-' Cadastro.class.php abaixo: <?php class Cadastro{ public function cadastrar($nome, $end, $dt_nasc, $email, $cidade, $cep, $senha){ //tratamento das variaveis $nome=ucwords(strtolower($nome)); $end=ucwords(strtolower($end)); $dt_nasc=ucwords(strtolower($dt_nasc)); $email=ucwords(strtolower($email)); $cidade=ucwords(strtolower($cidade)); $cep=ucwords(strtolower($cep)); $senha=sha1($senha."mercadoBon"); //inserção no banco de dados $validaremail=mysql_query("SELECT * FROM usuario WHERE email'$email'"); $contar=mysql_num_rows($validaremail); if($contar==0){ $insert=mysql_query("INSERT INTO usuario(nome,end,dt_nasc,email,cidade,cep,senha,nivel,status)VALUES('$nome,$end,$dt_nasc,$email,$cidade,$cep,$senha,1,1')"); }else{ $flash="E-mail já cadastrado em nosso banco de dados!"; } if(isset($insert)){ $flash="Cadastro realizado com sucesso"; }else{ if(empty($flash)){ $flash="Ops! Houve um erro em nosso sistema, contate o administrador."; } } //retorno para o usuário echo $flash; } } ?> header.php abaixo: <?php error_reporting (E_ALL & ~ E_NOTICE & ~ E_DEPRECATED); //Globais $home="http://localhost/Bon-Network/index.php"; $title="Mercado Coletivo - BON"; $startaction=""; $msg=""; if(isset($_GET["acao"])){ $acao=$_GET["acao"]; $startaction=1; } //Include das classes include("classes/DB.class.php"); include("classes/Cadastro.class.php"); include("classes/Logar.class.php"); //Conexao com o banco de dados $conectar=new DB; $conectar=$conectar->conectar(); //Cadastro if($startaction==1){ if($acao=="cadastrar"){ $nome=$_POST["nome"]; $end=$_POST["end"]; $dt_nasc=$_POST["dt_nasc"]; $email=$_POST["email"]; $cidade=$_POST["cidade"]; $cep=$_POST["cep"]; $senha=$_POST["senha"]; if(empty($nome)||empty($end)||empty($dt_nasc)||empty($email)||empty($cidade)||empty($cep)||empty($senha)){ $msg="Preencher todos os campos!"; //todos os campos preenchidos }else{ //e-mail valido if(filter_var($email,FILTER_VALIDATE_EMAIL)){ if(strlen($senha)<8){ $msg="Senha deve ter no mínimo oito caracteres!"; }else{ //executa a classe de cadastro $conectar=new Cadastro; echo"<div class=\"flash\">"; $conectar=$conectar->cadastrar($nome, $end, $dt_nasc, $email, $cidade,$cep, $senha); echo"</div>"; } } //e-mail invalido else{ $msg="Digite seu e-mail corretamente!"; } } } } //metodo de login if($startaction==1){ if($acao=="logar"){ //dados $email=addcslashes($_POST["email"]); $senha=addcslashes(sha1($_POST["senha"]."mercadoBon")); if(empty($email)||empty($senha)){ $msg="Preencha todos os campos!"; }else{ if(filter_var($email,FILTER_VALIDATE_EMAIL)){ $msg="Digite seu e-mail corretamente!"; }else{ //executar a buscar pelo usuario $login=new Login; $login=$login->logar($email,$senha); } } } } //variaveis de estilo if(empty($msg)){ $display="$display:none;"; }else{ $display="$display:block;"; } ?> Cadastrar.php abaixo: <?php include("includes/header.php"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Cadastrar</title> <link href="https://fonts.googleapis.com/css?family=Oswald:300,400,700" rel="stylesheet"/> <link rel="stylesheet" type="text/css" href="css/style.css"/> </head> <div class="logo"><a href="<?php echo $home;?> " title="<?php echo $title;?>"><img src="image/logo.png" alt="<?php echo $title;?>" title="<?php echo $title;?>" width="260" height="100"/></a></div> <body> <div id="cadastrar"><a href="login.php" title="Faça seu login!"> Login»</a></div> <div id="login" class="form bradius" style="top:30px"> <div class="message bradius" style="<?php echo $display; ?>"><?php echo $msg;?></div> <div class="acomodar"> <form action="?acao=cadastrar" method="post"> <label for="nome">Nome: </label><input id="nome" type="text" class="txt bradius" name="nome" /> <label for="end">Endereço: </label><input id="end" type="text" class="txt bradius" name="end" /> <label for="dt_nasc">Data de Nascimento: </label><input id="dt_nasc" type="date" class="txt bradius" name="dt_nasc" /> <label for="cidade">Cidade: </label><input id="cidade" type="text" class="txt bradius" name="cidade" /> <label for="cep">Cep: </label><input id="cep" type="text" class="txt bradius" name="cep" /> <label for="email">E-mail: </label><input id="email" type="text" class="txt bradius" name="email" /> <label for="senha">Senha: </label><input id="senha" type="password" class="txt bradius" name="senha" /> <input type="submit" class="sb bradius" value="Cadastrar"/> </form> <!--acomodar--> </div> <!--login--> </div> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Setembro 4, 2016 Bem-vindo ao fórum! :)Recomendo que leia as regras e orientações de participação mysql_query falhou e retornou false. é o mesmo erro que explico em detalhes aqui: http://rberaldo.com.br/as-mensagens-de-erros-mais-comuns-do-php/#mysql_result_resource faça debug. use mysql_error PS: funções mysql_* estão obsoletas desde o PHP 5.5 e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/ Compartilhar este post Link para o post Compartilhar em outros sites