Neste artigo veremos por que não utilizar funções mysql no PHP, como a função query por exemplo, que era amplamente utilizada antigamente.
Fala programador(a), beleza? Bora aprender mais sobre PHP!
As funções mysql_* não são propriamente do PHP, e sim da extensão mysql
E o qual o problema?
O problema é que a extensão mysql foi descontinuada, ou seja, não desenvolvem melhorias ou arrumam os problemas dela
Por isso é fortemente recomendável que não se utilize mais estas funções, além disso eventualmente podem parar de funcionar com a evolução da linguagem
A extensão pode ser removida em algum momento, fazendo com que sua aplicação não reconheça mais estes métodos do mysql
Você pode então optar por duas alternativas:
- mysqli;
- PDO (recomendo);
Além disso as funções de mysql não dão suporte a: consultas assíncronas, consultas parametrizadas, stored procedures e transactions
E aí que vem o problema, a falta de consultas parametrizadas é o que torna a biblioteca insegura
Pois se você não tomar os devidos cuidados estará exposto a um SQL Injection, que é uma invasão ao banco de dados
Então o mais certo é partir para as alternativas com mais recursos e seguras
Sobre a PDO
A PDO é construída com orientação a objetos, um paradigma de programação, que vai deixar sua utilização ainda mais fácil
Veja um exemplo de conexão com PDO:
<?php $servername = "localhost"; $username = "teste"; $password = "xxx"; try { $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password); echo "Conectou"; } catch(PDOException $e) { echo "Erro: " . $e->getMessage(); } ?>
Além disso a PDO funciona com 12 drivers diferentes, como: MySQL, MS SQL Server, Oracle, POstgreSQL, SQLite e etc
Eu costumo utiliza o PDO pela versatilidade e a possibilidade fácil da orientação a objetos
Porém se você precisa de performance, o melhor seria utilizar mysqli
Conclusão
Neste artigo vimos por que não utilizar funções mysql no PHP
Isso se dá a possibilidade de deixar a aplicação não segura, quanto os tratamentos de dados são feitos de forma errada
Além disso vimos alternativas para o mysql como mysqli e PDO
Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube