Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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!
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
funções mysql_* estão obsoletas desde o PHP 5.5. Prefira usar MySQLi ou PDO. Veja mais aqui: http://www.ultimatephp.com.br/php-por-que-nao-utilizar-funcoes-mysql
esse link nao funciona
poderia dar um exemplo em cima do meu erro?
com codigo
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
esse link nao funciona
Ficou fora do ar, mas já voltou: http://www.ultimatephp.com.br/php-por-que-nao-utilizar-funcoes-mysql/
Só mais uma coisa adicional.
A biblioteca MySQLI também irá ficar obsoleta, por tanto aconselho aprender PDO... ;)
O erro já informa o seu problema e sua solução:
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:
Enfim, essa é a solução para o seu problema.