Avatar ·

Por que não se deve usar funções obsoletas mysql_* em PHP e como substituí-las?

Olá a todos! Sou um desenvolvedor PHP iniciante, estudando por livros antigos e vídeos no YouTube. Em todos os exemplos, a conexão com o banco de dados MySQL é feita através das funções mysql_connect(), mysql_query() etc. Tudo funciona para mim, mas notei que nos tutoriais modernos essas funções não são usadas. Além disso, o PhpStorm as sublinha em vermelho e escreve "Deprecated". Aqui está como escrevo o código atualmente: ```php $link = mysql_connect('localhost', 'root', ''); mysql_select_db('myblog', $link); $result = mysql_query("SELECT * FROM users WHERE id = " . $_GET['id']); while ($row = mysql_fetch_assoc($result)) { echo $row['name']; } ``` Parece funcionar, mas ouvi dizer que é perigoso. Podem explicar em palavras simples: por que mysql_* é ruim? E o que usar no lugar? Não quero apenas palavras "está obsoleto", mas razões concretas. E também — como reescrever meu código corretamente para que seja moderno e seguro? Desde já agradeço pela resposta detalhada! <<>>

Por que mysql_* é