Estou recebendo este aviso, mas o programa ainda funciona corretamente.
O código MySQL está me mostrando uma mensagem em PHP:
Obsoleto: mysql_connect (): A extensão mysql está obsoleta e será removida no futuro: use mysqli ou PDO em vez de C: \ xampp \ htdocs \ task \ media \ new \ connect.inc.php na linha 2
Minha connect.inc.php
pagina é
<?php
$connect = mysql_connect('localhost','root','');
mysql_select_db('dbname');
?>
O que isso significa e como posso eliminar a mensagem?
php
mysql
function
deprecated
Mubashar Ahmed Hassan
fonte
fonte
Respostas:
Existem algumas soluções para o seu problema.
O jeito com o MySQLi seria assim:
Executar consultas de banco de dados também é simples e quase idêntico ao método antigo:
Desative todos os avisos obsoletos, incluindo-os de mysql_ *:
O arquivo exato e a localização da linha que precisa ser substituída é "/System/Startup.php> line: 2" error_reporting (E_All); substitua por error_reporting (E_ALL ^ E_DEPRECATED);
fonte
Você pode remover o aviso adicionando um '@' antes de mysql_connect.
mas, como o aviso está dizendo, use mysqli ou PDO, pois a extensão mysql será removida no futuro.
fonte
Para suprimir a mensagem de descontinuação apenas para isso (e se manter informado sobre outras descontinuações em seu código), você pode prefixar a conexão com @:
fonte
Recursos obsoletos no PHP 5.5.x
A extensão MySQL original agora está obsoleta e gerará
E_DEPRECATED
erros ao conectar-se a um banco de dados. Em vez disso, use as extensões ** MYSQLi ou PDO_MySQL . **Sintaxe:
Além disso, substitua todas as
mysql_*
funções emmysqli_*
funçõesao invés de
fonte
Este aviso é exibido porque uma nova extensão apareceu. Supõe-se que você ainda possa usar o antigo, mas em alguns casos é impossível.
Mostro como faço a conexão com banco de dados. Você só precisa alterar os valores das variáveis.
Meu arquivo de conexão : connection.php
A extensão também muda ao realizar uma consulta.
Arquivo de consulta: "exemplo.php"
Desta forma, é usando MySQL Improved Extension , mas você pode usar PDO (PHP Data Objects) .
O primeiro método pode ser usado apenas com bancos de dados MySQL, mas o PDO pode gerenciar diferentes tipos de bancos de dados.
Vou colocar um exemplo mas é necessário dizer que só utilizo o primeiro, por isso corrija-me se houver algum erro.
Meu arquivo de conexão PDO: "PDOconnection.php"
Arquivo de consulta (PDO): "exemplo.php"
Para finalizar é só dizer que é claro que você pode esconder o aviso, mas não é uma boa ideia porque pode te ajudar no futuro a economizar tempo se um erro acontecer (todos nós conhecemos a teoria, mas se você trabalhar muitas horas às vezes .. . cérebro não está lá ^^).
fonte
Isso é porque você está usando PHP 5.5 ou seu servidor web teria sido atualizado para 5.5.0.
As
mysql_*
funções foram descontinuadas a partir de 5.5.0Source
fonte
mysql_ *, está oficialmente obsoleto a partir do PHP v5.5.0 e será removido no futuro.
Use a função mysqli_ * ou pdo
Leia Oracle convertendo para MySQLi
fonte
É apenas um aviso que está lhe dizendo para começar a usar métodos mais novos de conexão ao seu banco de dados, como objetos PDO
http://code.tutsplus.com/tutorials/php-database-access-are-you-doing-it-correctly--net-25338
O manual esta aqui
http://www.php.net/manual/en/book.pdo.php
fonte
Aviso "obsoleto" em geral significa que você está tentando usar uma função que está desatualizada. Isso não significa que seu código não funcionará, mas você deve considerar a refatoração.
No seu caso, as funções mysql_ estão obsoletas. Se você quiser saber mais sobre isso, aqui está uma boa explicação: Por que não devo usar as funções mysql_ * em PHP?
fonte
Isto irá resolver o seu problema.
fonte
A classe PDO substitui esses métodos. Exemplo para Mysql ou MariaDB:
Fonte: Classe PDO
fonte
Se você fez sua codificação, então
é uma boa opção, mas se você está começando, então definitivamente você deve usar mysqli.
fonte
Bem, acabei de enfrentar essa mensagem hoje quando mudei para uma nova hospedagem! de qualquer forma, tentei alterar o "mySQL" para "mySQLi", mas não estava funcionando, então fiz o seguinte:
O truque é definir o relatório de erros :)
Para PHP 7, você pode usar este código:
obrigado
fonte
ini_set('display_errors', 0); ini_set('log_errors', 1);
. Vou atualizar a resposta acima. Obrigado.coloque isso em sua página php.
fonte
Adicionando um
@
trabalho para mim!Eu testei com
error_reporting(E_ALL ^ E_DEPRECATED);
fonte