Ir ao conteúdo
  • Cadastre-se

Erro no php - sem acesso ao banco de dados


Posts recomendados

Estou com um problema que parece simples 
mas que empacou de vez um formulário de cadastro que estou tentando usar.
Não encontra o banco de dados, já tentei muitas permissões tanto 
no windows quanto no próprio mysql e nada...

 

código em php:

<html>
    <head></head>
    <title>cadastrando</title>
    <body>
        
        <?php
        $con = mysqli_connect("127.0.0.1", "root", "vertrigo") or die("Não foi possível conectar com o servidor de dados!");
        mysql_select_db ( "cadastro" , $con  ) or die("Banco de dados não localizado!");
        ?>
        
        <?php
            if($_GET['go'] == 'cadastrar'){
            $nome = $_POST['nome'];
            $email = $_POST['email'];
            $user = $_POST['usuario'];
            $pwd = $_POST['senha'];
        
            if(empty($nome)){
            echo "<script>alert('Preencha todos os campos para se cadastrar.'); history.back();</script>";
            }elseif(empty($email)){
            echo "<script>alert('Preencha todos os campos para se cadastrar.'); history.back();</script>";
            }elseif(empty($user)){
            echo "<script>alert('Preencha todos os campos para se cadastrar.'); history.back();</script>";
            }elseif(empty($pwd)){
            echo "<script>alert('Preencha todos os campos para se cadastrar.'); history.back();</script>";
            }else{
                $query1 = mysql_num_rows(mysql_query("SELECT * FROM usuario where usuario = '$user'"));
                if($query1 == 1){
                    echo "<script>alert('Usuário já existe.'); history.back();</script>";
                }else{
                    mysql_query("insert into usuario(nome,email,usuario,senha) values ('$nome','$email','$user','$pwd')");
                    echo "<script>alert('Usuário cadastrado com sucesso.'); </script>";
                    echo "<meta http-equiv='refresh' content='0, url=cadastro.php'>";
                }
            }
        }
            ?>
    </body>
</html>

 

 

Mensagem de Erro:

(!) Atenção: mysql_select_db () espera que o parâmetro 2 seja recurso, objeto dado em C: \ Users \ Aloizio \ Serv \ www \ carros \ cadastrar.php on line 10

Pilha de chamadas

#Tempo                               Memória               Função                          Localização

10,0020                               246480                {a Principal}( )                ... \ cadastrar.php : 0

20,0130                               255264                Mysql_select_db ()         ... \ cadastrar.php : 10

Banco de dados não localizado!

Link para o comentário
Compartilhar em outros sites

  • Moderador

@Agamoto Olá, seja bem vindo em nosso Clube do Hardware.

 

O seu problema é que você faz a conexão com o banco de dados usando a extensão MySQLi, seleciona, o banco pela extensão antiga mysql e as funções também.

 

Troque todas as funções para as do MySQLi  que vai funcionar.

 

Para conectar certo use a seguinte sintaxe:

//-------------------  host        usuario   senha      nome do banco de dados                           
$con = mysqli_connect("127.0.0.1", "root", "vertrigo", "cadastro");

Já o resto do código troque para mysqli_num_rows() e mysqli_query.

 

Faça desta maneira:

<?php
        $con = mysqli_connect("127.0.0.1", "root", "vertrigo","cadastro"); 
     
        
      
            if($_GET['go'] == 'cadastrar'):
               $nome = $_POST['nome'];
               $email = $_POST['email'];
               $user = $_POST['usuario'];
               $pwd = $_POST['senha'];
        
               if(empty($nome) OR empty($email) OR empty($user) OR empty($pwd) ):
                   echo "<script>alert('Preencha todos os campos para se cadastrar.'); history.back();</script>";
                  exit;
               endif;
              
                   $consulta = mysqli_query($con ,"SELECT * FROM usuario where usuario = '$user'")); 
                   $query1 = mysqli_num_rows($consulta);
                
                   if($query1 == 1):
                       echo "<script>alert('Usuário já existe.'); history.back();</script>";
                   else:
                       mysqli_query($con ,"insert into usuario(nome,email,usuario,senha) values ('$nome','$email','$user','$pwd')");
                       echo "<script>alert('Usuário cadastrado com sucesso.'); </script>";
                      echo "<meta http-equiv='refresh' content='0, url=cadastro.php'>";
                   endif;
          endif;

?>

 

Link para o comentário
Compartilhar em outros sites

  • Moderador

@Agamoto Só para você ter conhecimento,   o mysqli_select_db($con  , "cadastro");  é obsoleto.

 

A sintaxe correta para o mysqli  é:   mysqli_connect("host", "usuario", "senha", "nome do banco de dados")

 

Veja mais sobre isso no manual do PHP  http://php.net/manual/pt_BR/function.mysqli-connect.php

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...