Ir para conteúdo
Barbara123

Não consigo fazer conexão com o banco de dados

Recommended Posts

Olá boa noite estou estudando php, porém na hora de fazer conexão com o BD, não conecta de jeito nenhum, os nomes do banco estão corretos, o ja importei o banco e nada alguém sabe o que pode ser?

 

 

Conexão com o banco

 

<?php

/**
 * classe que trata de conexao com o BD e operações
 */
class Conexao {

    private $host;
    private $user;
    private $senha;
    private $bd;
    private $link;
    public  $query;
    public  $lista;
    //private $tabela;


    /**
     * funcao construtora que inicia o link caso esteja null
     */
    function __construct() {

        if ($this->link == NULL):
             $this->getConexao();

        endif;


    }

    /**
     * faz a conexao caso não tenha valores no LINK
     */
    public function getConexao(){

        $this->host  = 'localhost';
        $this->user  = 'root';
        $this->senha = '';
        $this->bd    = 'imob';


      $this->link = mysql_connect($this->host, $this->user, $this->senha) or die('Erro de conexao');
      mysql_select_db($this->bd, $this->link);
            mysql_set_charset('UTF8', $this->link);

    }


 /**
  *
  * @param type $sql -  passo a minha sql
  */
    public function ExecSQL($sql){

    $this->query =  mysql_query($sql, $this->link) or die(mysql_error());


    }

/**
 *
 * @return type -   retorna a lista de registros
 */
    public function ListarDados(){

                $this->lista = mysql_fetch_assoc($this->query);

        return $this->lista;


    }

 /**
  *
  * @return type -  retorna a contagem dos registros s query
  */

    public function TotalRegistros() {

        return mysql_num_rows($this->query);

    }

}
 

<?php

/**
 * classe que trata de conexao com o BD e operações
 */
class Conexao {

    private $host;
    private $user;
    private $senha;
    private $bd;
    private $link;
    public  $query;
    public  $lista;
    //private $tabela;


    /**
     * funcao construtora que inicia o link caso esteja null
     */
    function __construct() {



        if ($this->link == NULL):
             $this->getConexao();

        endif;


    }

    /**
     * faz a conexao caso não tenha valores no LINK
     */
    public function getConexao(){

        $this->host  = 'localhost';
        $this->user  = 'root';
        $this->senha = '';
        $this->bd    = 'imob';


      $this->link = mysql_connect($this->host, $this->user, $this->senha) or die('Erro de conexao');
      mysql_select_db($this->bd, $this->link);
            mysql_set_charset('UTF8', $this->link);

    }


 /**
  *
  * @param type $sql -  passo a minha sql
  */
    public function ExecSQL($sql){

    $this->query =  mysql_query($sql, $this->link) or die(mysql_error());


    }

/**
 *
 * @return type -   retorna a lista de registros
 */
    public function ListarDados(){



                $this->lista = mysql_fetch_assoc($this->query);

        return $this->lista;


    }

 /**
  *
  * @return type -  retorna a contagem dos registros s query
  */

    public function TotalRegistros() {

        return mysql_num_rows($this->query);

    }

}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

funcoes mysql* foram removidas, você devera instalar
as extensões PDO ou MySQLi.

aqui tem boas dicas de como exibir mensagens de erro:

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
9 horas atrás, Fernando C disse:

funcoes mysql* foram removidas, você devera instalar
as extensões PDO ou MySQLi.

aqui tem boas dicas de como exibir mensagens de erro:

 

fiz isso entretanto não resolve

Compartilhar este post


Link para o post
Compartilhar em outros sites

A primeira coisa que devo falar é sobre a versão do servidor e do php. Como em outro tópico disse que estava usando o Xampp que sempre tem seu PHP atualizado.

Faremos um debug no seu arquivo principal. Vá a pasta raiz do site edite o arquivo index.php e coloque isso antes de qualquer coisa:

Spoiler

<?php
if (version_compare(PHP_VERSION, '7.0', '<')) {
    echo ("<h1>Opa!</h1>"
    . "<p>Se isso apareceu sua versão do PHP é " . PHP_VERSION . "</p>"
    . "Ou seja vamos dizer adeus ao ineficaz mysql, que tal tentar usar PDO ou mysqli?"
    . "<hr />");
    if (extension_loaded('pdo')) {
        echo ("<span style=\"color: red\">Se esse texto em vermelho apareceu é porque o sistema comporta"
        . "o uso das bibliotecas PDO, porque não usa ela?");
    }
    exit();
}
?>

 

 

Em todo caso como o suspeito é sua versão do PHP moderna e eficaz, que não funciona com a antiga biblioteca mysql.

Você então tem 2 alternativas.

Atualizar toda a estrutura do site o que vai modificar todo assunto relacionado a conexão. Se for feito por um programador experiente ele faz em alguma horas, por alguém inexperiente pode levar dias e pode não conseguir.

Ou refazer todo o site já usando o que é mais eficaz de seguro usar quando o assunto for conexão com banco de dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites
15 horas atrás, Barbara123 disse:

fiz isso entretanto não resolve

 

claro que não; precisa ajustar tambem o codigo.

mas ai é PHP.

de qualquer forma verifique se o Mysql está iniciando;

o XAMPP não inicia nem o Mysql nem o Apache, você tem que fazer isso manualmente sempre que iniciar o Windows.

Compartilhar este post


Link para o post
Compartilhar em outros sites
48 minutos atrás, Fernando C disse:

 

claro que não; precisa ajustar tambem o codigo.

mas ai é PHP.

de qualquer forma verifique se o Mysql está iniciando;

o XAMPP não inicia nem o Mysql nem o Apache, você tem que fazer isso manualmente sempre que iniciar o Windows.

 

Na verdade sim o Xampp você não precisa ficar ativando. Por exemplo em C:\xampp\apache existe um arquivo de lotes apache_installservice.bat que serve para adicionar o apache aos serviços do sistema iniciando junto ao arranque do windows.

Porém como a microsoft só faz m***** mesmo, a partir do windows 8 é necessário fazer modificações nos registros do sistema para que possa usufruir dessa funcionalidade.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Adriano Weverton
      Necessito de ajuda em relação a como gerar um pdf pegando imagens do banco de dados utilizando a biblioteca fpdf e se for possível colocar um limite de resolução padrão. De forma que a imagem fique depois da "opc5_quest" ...
       
      $numero = 1; $numero <10; foreach ($dados as $tb_questoes){ if ($numero <10) { $pdf->MultiCell(190, 4, utf8_decode (''.'0'.$numero++.') '.$tb_questoes["enunciado_quest"]), 0, 'L', 0, 0, '', '', true); }else{ $pdf->MultiCell(190, 4, utf8_decode (''.$numero++.') '.$tb_questoes["enunciado_quest"]), 0, 'L', 0, 0, '', '', true); } $pdf->Ln(3); $pdf->MultiCell(190, 4, utf8_decode ('(A) '.$tb_questoes["opc1_quest"]), 0, 'L', 0, 0, '', '', true); $pdf->Ln(3); $pdf->MultiCell(190, 4, utf8_decode ('(B) '.$tb_questoes["opc2_quest"]), 0, 'L', 0, 0, '', '', true); $pdf->Ln(3); $pdf->MultiCell(190, 4, utf8_decode ('(C) '.$tb_questoes["opc3_quest"]), 0, 'L', 0, 0, '', '', true); $pdf->Ln(3); $pdf->MultiCell(190, 4, utf8_decode ('(D) '.$tb_questoes["opc4_quest"]), 0, 'L', 0, 0, '', '', true); $pdf->Ln(3); $pdf->MultiCell(190, 4, utf8_decode ('(E) '.$tb_questoes["opc5_quest"]), 0, 'L', 0, 0, '', '', true); $pdf->Ln(4); }  
    • Por andersonx
      Galera, estou desenvolvendo um sistema, e estou mexendo agora, na parte de recuperação de senha, segui um tutorial que achei bem interessante, no YT, fiz tudo que o cara fez, mas esta aparecendo um erro , na hora de enviar o email, usando um sistema de hospedagem externo, 
       
      Código para recuperação: 
       
      <head>
        <?php 
                date_default_timezone_get("America/Ponta_Pora");
              include "../includes/inc_head.php"; 
              include "../../helpers/conexao.php";  
            
              if(isset($_POST['acao']) && $_POST['']=='recuperar'):
                  $email = strip_tags(filter_input(INPUT_POST,'emailrecupera',FILTER_SANITIZE_STRING));
                  $verificar = mysqli_query($conexao,"SELECT email FROM educadores  WHERE email='$email'");
                  if(mysqli_num_rows($verificar==1)){
                      
                  $codigo = base64_encode($email);
                  $data_expirar= date('Y-m-d H:i:s', strtotime('+ 1 day'));
                  
                  $mensagem='<p>Recebemos uma tentativa de redefiniçao de senha  para esse email, causo não foi voce que enviou,'
                          . ' desconsidere esse email, caso  contrário clique no link abaixo <br /> '
                          . '<a href="nomedosite/recuperar_senha.php?codigo='. $codigo.'  ">Recuperar Senha </a>    </p>';
                  $email_remetente='andersonshipuden@gmail.com';
                  
                  
                  
                          $headers = "MINE-Version: 1.1\n";
                          $headers .= "Content-type: text/html; charset-iso-8859-1\n";
                          $headers .= "From: $email_remetente\n";
                          $headers .= "Return-Path: $email_remetente\n";
                          $headers .= "Reply-To: $email\n";
                          $inserir= mysqli_query($conexao,"INSERT INTO codigos  SET codigo='$codigo', data='$data_expirar'");
                         if($inserir){
                           if (mail("$email", "Assunto", "$mensagem", $headers, "-f$email_remetente")){
                            echo 'Enviamos um email com um link para a recuperaçao de senha para o endereço de e-mail, que enviou';
                            
                        
                             
                         }                    
                       }
                  
                  }
                  
                
                 
               
                  
                  endif;
              
         /*$headers = "MINE-Version: 1.1\n";
         $headers .= "Content-type: text/plain; charset-iso-8859-1\n";
         $headers .= "From: $email_remetente\n";
         $headers .= "Return-Path: $email_remetente\n";
         $headers .= "Reply-To: $email_usuario\n";
         mail("$email_usuario", "Assunto", "$mensagem", $headers, "-f$email_remetente");
         
              */
              
              ?>
         
             
             
              
              
              
             
      </head>
      <body  >
        <div class="container-fluid">
                  <?php include "../includes/inc_nav.php"; ?>
              </div>
          
         
          
          <div class="form-horizontal" id="img" >
            <div class="row">
                  
                   
                     
                       
                       <center>    <h4 id="tit"><strong>Recuperar Senha</strong></h4> </center>
                     
                       <form id="f"  class="form-horizontal" method="POST" enctype="multipart/form-data">
                    
                           
                          <img src="../img/logo.png" id="fff">
                         <br>
                         <br>
                         <br>
                          <br>
                           <br>
                         <br>
                         <center>    <h6 id="recs"><strong>Para recuperar sua  Senha inseira o seu Email Cadastrado!</strong></h6> </center>
                         <br>
               
                         
                        <div class="control-group">
                          <label class="control-label">Email:</label>
                          <div class="controls glyphicon glyphicon-envelope" >
                              <input type="text" name="emailrecupera" value="" class="form-control"  placeholder="Email" required>
                              <input type="hidden" name="acao" value="recuperar" class="form-control" required>
                               
                          </div>
                        </div>
                     
                     
                        <div class="control-group">
                          <div class="controls">
                              <button type="submit"  value="recuperar Senha" id="submit" class="btn-success" >Enviar</button>
                          </div>
                            <br>
                            <div class="controls" >
                                      <button type="reset"  id="reset" class="btn-warning">Limpar Campos</button>
                          </div>
                          
                        </div>
                           <br>
                         <br>
                         <br>
                          <p class="aligncenter margintop500" id="registrar" >
                            Nao Possui uma  conta? <a href="registrar.php"  aria-hidden="true" >Registre-se</a>
                          </p>
                          
                      </form>
                    </div>  
          </div>
       
      ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
      Essa é a segunda tela, quando ele clicar no codigo enviado por email par aele
      <head>
       

        <?php 
               
              include "../includes/inc_head.php"; 
              include "../../helpers/conexao.php";        
              
               if(isset($_GET['codigo'])){
                   $codigo= $_GET['codigo'];
                   $email_codigo= base64_decode($codigo);
                   $selecionar = mysqli_query($conexao,"SELECT * FROM codigos WHERE codigo = '$codigo' AND  data > NOW()");
                   if(mysqli_num_rows($selecionar)>=1){
                       if(isset($_POST['acao']) && $_POST['acao']=='mudar'){
                           $nova_senha= $_POST['novasenha'];
                           $atualizar= mysqli_query($conexao,"UPDATE educadores SET senha ='$nova_senha' WHERE email='$email_codigo'");
                           if($atualizar){
                               $mudar= mysqli_query($conexao,"DELET FROM codigos WHERE codigo='$codigo'");
                                    
                               echo 'Sua senha foi modificada com sucesso';
                           }
                       }
             ?>
          
          <div class="row">
                  
                   
                     
                       
                       <center>    <h4 id="tit"><strong>Por Favor, insira a sua  nova senha:</strong></h4> </center>
                       <form id="f"  class="form-horizontal" method="POST" enctype="multipart/form-data">
                    
                           
                          <img src="../img/logo.png" id="fff">
                         <br>
                         <br>
                         <br>
                          <br>
                           <br>
                         <br>
                         <center>    <h6 id="recs"><strong>Para atualizar sua  Senha insira sua nova senha no campo abaixo!</strong></h6> </center>
                         <br>
               
                        <div class="control-group">
                          <label class="control-label">Nova Senha:</label>
                          <div class="controls glyphicon glyphicon-envelope" >
                              <input type="password" name="novasenha" value="" class="form-control"  placeholder="Nova Senha" required>
                              <input type="hidden" name="acao" value="mudar" class="form-control" required>
                               
                          </div>
                        </div>
                     
                     
                        <div class="control-group">
                          <div class="controls">
                              <button type="submit"  value="Mudar Senha" id="submit" class="btn-success" >Salvar Senha</button>
                          </div>
                            <br>
                            <div class="controls" >
                                      <button type="reset"  id="reset" class="btn-warning">Limpar Campos</button>
                          </div>
                          
                        </div>
                           <br>
                         <br>
                         <br>
                          
                      </form>
                    </div>  
          
          
          
          <?php 
                       
                   }else {
                       echo 'Desculpe mais esse link já expirou';
                       
                   }
                   
               }
                  
                ?>  
        
              
         Esta dando um erro, na seguinte linha :    if(mysqli_num_rows($verificar==1))
       
      esse erro: 
       
      Notice: Object of class mysqli_result could not be converted to int in /storage/ssd4/199/6565199/public_html/EducAtiv/view/home/recuperarSenha.php on line 14

      Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in /storage/ssd4/199/6565199/public_html/EducAtiv/view/home/recuperarSenha.php on line 14
       
             
             
              
          
    • Por BryanSamuel
      Eu preciso somar a coluna SOMA onde a coluna A e a coluna B(ao outro registro, por exemplo A do registro 1 e A do registro 2 forem iguais) forem iguais, após isso dividir por 3 e em seguida inserir em outra tabela.
    • Por Pedroalves
      eu estou a tentar a criar um sistema que gera recursos aos jogadores como acontece com os jogos online tipo ogame ou ikaria eu quero
      por exemplo a mina esta a nivel 1 produz 20 unidades a hora a
      nivel 2 produz 32 unidades a hora socidamente eu em php tentei server loop push mas em
      nodejs não sei por onde começar
      estou a usar o nodejs e express com mysq
    • Por ayrtonmaia25
      Colegas, alguns anos atrás iniciei estudos no desenvolvimento web, porém com as circunstancias da vida, o tempo foi passando e a web foi ficando de lado, consequentemente, meus conhecimentos ficaram ultrapassados e me desliguei da área. Estou retornando agora e novamente estudando, em busca de me atualizar e já desenvolvendo um sistema, o cliente me enviou a estrutura do banco de dados dele, porém um arquivo extenso e estou tentando subir para o servidor ainda, porém há uma dificuldade, aparentemente a estrutura foi salva em php e não estou conseguindo achar uma forma para inseri-la no bd do jeito que está, alguém poderia me dar uma luz?
       
      Segue um exemplo de como está a estrutura:
      IF EXISTS (SELECT * FROM sys.all_objects WHERE object_id = OBJECT_ID(N'[dbo].[apostas]') AND type IN ('U')) DROP TABLE [dbo].[apostas] GO $sql = "CREATE TABLE [dbo].[apostas] ( [idaposta] int IDENTITY(1,1) NOT NULL, [idconcurso] int NULL, [datahora] datetime NULL, [telefone] varchar(20) COLLATE Latin1_General_CI_AS NULL, [nome] varchar(30) COLLATE Latin1_General_CI_AS NULL, [numeros] varchar(150) COLLATE Latin1_General_CI_AS NULL, [cotacao] int NULL, [valor] money NULL, [premio] money NULL, [idcliente] int NULL, [acertou] bit DEFAULT ((0)) NULL, [COMISSAO] money NULL, [CODIGO] char(7) COLLATE Latin1_General_CI_AS NULL, [bilhete] char(10) COLLATE Latin1_General_CI_AS NULL, [PG] char(1) COLLATE Latin1_General_CI_AS DEFAULT ('N') NULL, [nomecolab] varchar(30) COLLATE Latin1_General_CI_AS NULL, [dataconcurso] varchar(10) COLLATE Latin1_General_CI_AS NULL, [confirmado] bit NULL, [bilhete2] uniqueidentifier NULL, [idterminal] varchar(11) COLLATE Latin1_General_CI_AS NULL, [tipo] char(1) COLLATE Latin1_General_CI_AS DEFAULT ('S') NULL ) GO ALTER TABLE [dbo].[apostas] SET (LOCK_ESCALATION = TABLE) GO Quebrei a cabeça durante o dia quase todo, estou no meio dos estudos também, atualizando sobre PDO e Frameworks, etc... Se alguém puder dar uma luz do que fazer, agradeço
×

Informação importante

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