Por qué no se deben usar las funciones obsoletas mysql_* en PHP y con qué reemplazarlas
¡Hola a todos! Soy un desarrollador PHP principiante y estoy aprendiendo con libros antiguos. En todos los ejemplos, la conexión a la base de datos MySQL se ve así:
```php
$link = mysql_connect('localhost', 'root', '');
mysql_select_db('my_database', $link);
$result = mysql_query("SELECT * FROM users WHERE id = " . $_GET['id']);
while ($row = mysql_fetch_assoc($result)) {
echo $row['name'];
}
```
Todo funciona, pero veo que en PHP moderno estas funciones generan errores. En los logs dice que están obsoletas. En los foros dicen que incluso fueron eliminadas en PHP 7. Entiendo que necesito migrar a algo nuevo, pero no comprendo: ¿cuál es el problema concreto de mysql_*? Si funcionan. ¿Qué peligro tienen? ¿Y qué usar en su lugar: mysqli o PDO? ¿Cuál es la diferencia? Agradecería una explicación detallada con ejemplos para poder reescribir mi código correctamente.
<<>>
Principales razones para abandonar mysql_*
Te has topado con el problema clásico del código obsoleto. Las funciones mysql_* fueron eliminadas