Ir para conteúdo

Arquivado

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

beowlf

Deprecated: mysql_connect():

Recommended Posts

Bom dia! Galera

preciso de uma ajuda

estou fazendo um codigo e esta dando o seguinte erro

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\wamp\www\paineladm\classes\banco.class.php on line 26

porem eu vi aqui nessa linha que no meu codigo esta correto porem nao sei que esta acontecendo

 

INSERT INTO crm_usuarios (nome, email, login, senha, ativo, administrador, datacad) VALUES ('', '', '', '', '', '', '') Ocorreu um erro com os seguintes detalhes:

public function conecta() {
        $this->conexao = mysql_connect($this->servidor, $this->usuario, $this->senha, TRUE)
        or die($this->trataerro(__FILE__, __FUNCTION__, mysql_errno(), mysql_error(), TRUE));
        mysql_select_db($this->nomebanco) or die($this->trataerro(__FILE__, __FUNCTION__, mysql_errno(), mysql_error(), TRUE));
        mysql_query("SET NAMES 'utf8'");
        mysql_query("SET character_set_connection=utf8");
        mysql_query("SET character_set_client=utf8");
        mysql_query("SET character_set_results=utf8");
    }

 public function inserir($objeto) {
        //insert into nome da tabela ($campo1, $campo2) values ($valor1, $valor2)
        $sql = "INSERT INTO " . $objeto->tabela . " (";
        for ($i = 0; $i < count($objeto->campos_valores); $i++):
            $sql .= key($objeto->campos_valores);
            if ($i < (count($objeto->campos_valores) - 1)):
                $sql.= ", ";
            else:
                $sql .= ") ";
            endif;
            next($objeto->campos_valores);
        endfor;
        reset($objeto->campos_valores);
        $sql .= "VALUES (";
        for ($i=0; $i < count($objeto->campos_valores); $i++):
            $sql .= is_numeric($objeto->campos_valores[key($objeto->campos_valores)]) ?
                    $objeto->campos_valores[key($objeto->campos_valores)] :
                    "'" . $objeto->campos_valores[key($objeto->campos_valores)] . "'";
            if ($i < (count($objeto->campos_valores) - 1 )):
                $sql .= ", ";
            else:
                $sql .=") ";
            endif;
            next($objeto->campos_valores);
        endfor;
        echo $sql; //Descomente só para testes
        return $this->executaSQL($sql);
    } 

alguém pode me ajudar com esse problema? e o que eu posso fazer para solucionar

fico no aguardo

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro já informa o seu problema e sua solução:

Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\wamp\www\paineladm\classes\banco.class.php on line

Ou uma rápida lida no manual:

Warning
This extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include:

  • mysqli_connect()
  • PDO::__construct()

Enfim, essa é a solução para o seu problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia! Gabriel

 

obrigado pelas informações

 

eu nao sou muito bom em php poderia ser um pouco mais detalhista nas informações

 

realmente estou muito confuso sobre o problema citado acima

 

Atenciosamente

 

Fabiano

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, vamos lá...

MySQL é uma biblioteca do PHP, assim como MySQLI e PDO, a biblioteca MySQL está obsoleta (inválida) a partir da versão 5.5 do PHP.

Provavelmente teu APACHE está configurado para versões acima de 5.5, então logo a biblioteca MYSQL, não funciona...

 

Então você terá que trocar MySQLI, oque não vai ser difícil , afinal você já usa direcionada à objetos.

 

Conexão usando MySQL

 

mysql_connect("HOST","USUARIO","SENHA",);
mysql_select_db("CONEXÃO","db");

 

Conexão usando MySQLI

 

$conecta = new mysqli("HOST","USUARIO","SENHA","BANCO");

 

Não tenho certeza em quanto ao exemplo de MySQLI se está correto. Mas é mais ou menos essa a idéia... haha

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.