Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá eu estou iniciando um projeto e estou criando a classe de conexao, porém esta dando o seguite 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\imobiliaria\app\Conexao.class.php on line *44***
PHP:
<?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 = 'imovel';
$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);
}
}Em suma: troque o mysql_ por mysqli_.
Certifique-se que você habilitou o mysqli no php.ini.
>
Citar
exemplo de conexao com PDO:
try {
$conn = new PDO('mysql:host=localhost;dbname=banco_dados', "usuario", "senha");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//echo "conexao estabelecida";
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
**o PDO é mais chatinho de trabalhar que o mysql tradicional.**
>
Citar
exemplo de um select com PDO:
$sql = "select nome, email from TABELA"; // order data desc, permite acessar as materias mais recentes.
$exec = $conn->query($sql);
$rows = $exec->fetchAll( PDO::FETCH_ASSOC );
$dados = $rows;
//$total = 0;
for ( $a=0; $a <= count($dados)-1; $a++ ) {
$nome = $dados[$a]["nome"] ";
$email = $dados[$a]["email"] ";
}
depois é só manipular os resultados do for....
O que diz é que a extensão mysql já não é mantida e aconselha a utilização de MySQLi (que segue a mesma lógica do código que já tens) ou PDO.