Power Pixel
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.


Fechar janela

The Flash The Flash  • 30.01.17 3:07

Porque não devemos usar funções do tipo mysql_* Empty Porque não devemos usar funções do tipo mysql_* 30.01.17 3:07

Resumo

A resposta é uma só: não devemos usar funções da extensão "mysql" pelo seu desenvolvimento ter sido descontinuado; a extensão vai se tornar obsoleta em breve, ou seja, código que utilize essas funções não irá funcionar em futuras versões do PHP.


Detalhes

Um usuário do site Stack Overflow em inglês escreveu: "there is no security problem with library itself but rather with library users" (não há problemas de segurança com a biblioteca em si, mas sim com os usuários da biblioteca).
A votação para descontinuar (deprecate) ou não resultou em 25 votos a favor e 12 votos contra. Foi uma boa maioria, mas não foi uma decisão unânime. Fonte (oficial):https://wiki.php.net/rfc/mysql_deprecation
Nessa mesma fonte, outro desenvolvedor escreve: "The extension is not broken. The problem is the bad usage. It can be used safely, and good developers have been doing so for ages" (A extensão não tem defeitos. O problema é a má utilização. Ela pode ser usada com segurança, e bons desenvolvedores têm feito isso há anos).
A citação abaixo, também desse mesmo documento oficial, aponta para as verdadeiras razões para descontinuar a extensão:
ext/mysql is hard to maintain code. It is not getting new features. Keeping it up to date for working with new versions of libmysql or mysqlnd versions is work, we probably could spend that time better.
(A extensão mysql contém código de difícil manutenção. Não está recebendo novas "features". Mantê-la atualizada para funcionar com novas versões de libmysqld e mysqlnd é trabalhoso; nós poderíamos estar usando melhor esse tempo.)
Em outras palavras: "Para que ter um trabalhão para manter esse código velho?" - pois na medida em que novas versões do MySQL (e suas "client libs") são lançadas, a extensão precisa ser atualizada...
...e, além disso, já existem a extensão mysqli (mais moderna) e a alternativa PDO... então... para que continuar mantendo? Vamos descontinuar? Aí, 25 votaram "sim", 12 votaram "não", e a decisão foi tomada.
Fonte: stackoverflow

nadi0s nadi0s  • 02.02.17 21:38

Porque não devemos usar funções do tipo mysql_* Empty Re: Porque não devemos usar funções do tipo mysql_* 02.02.17 21:38

Ótimo! Muito obrigado por compartilhar.

LucasGTenorio LucasGTenorio  • 11.03.17 11:12

Porque não devemos usar funções do tipo mysql_* Empty Re: Porque não devemos usar funções do tipo mysql_* 11.03.17 11:12

Então, só pra me tirar dúvida, o mysql_* vai acabar mesmo, mas o mysqlI_ vai "substituir" ?

lai0n lai0n  • 11.03.17 13:47

Porque não devemos usar funções do tipo mysql_* Empty Re: Porque não devemos usar funções do tipo mysql_* 11.03.17 13:47

LucasGTenorio escreveu:

Então, só pra me tirar dúvida, o mysql_* vai acabar mesmo, mas o mysqlI_ vai "substituir" ?


No PHP 5.4 (se não me engano) está obsoleto. E no PHP7 nem existe mais

Olha essa resposta minha sobre o assunto no stackoverflow:
http://pt.stackoverflow.com/questions/75813/mysql-deprecated/75815#75815

The Flash The Flash  • 11.03.17 16:08

Porque não devemos usar funções do tipo mysql_* Empty Re: Porque não devemos usar funções do tipo mysql_* 11.03.17 16:08

LucasGTenorio escreveu:

Então, só pra me tirar dúvida, o mysql_* vai acabar mesmo, mas o mysqlI_ vai "substituir" ?

Acabar não vai. Se utilizar versões anteriores do php, ainda poderá utilizar essas funções, mesmo sendo obsoletas e não recomendadas.
Permissões neste sub-fórum
Não podes responder a tópicos

BH Servers

Recomendamos a BH Servers com proteção DDOS gratuita em Cloud Server de alta performance. Entrega imediata.