为什么不能在 PHP 中使用已弃用的 mysql_* 函数以及用什么替代?
大家好!我是一名初学 PHP 开发者,正在根据旧教材学习。在所有示例中,连接 MySQL 数据库的代码看起来像这样:
```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'];
}
```
一切都能运行,但我发现在现代 PHP 中这些函数会引发错误。日志显示它们已被弃用。在论坛上有人说它们在 PHP 7 中已被完全移除。我知道需要改用新东西,但我不明白:mysql_* 具体有什么问题?它们明明能工作。它们有什么危险?应该用什么替代——mysqli 还是 PDO?有什么区别?希望能得到详细解释和示例,以便我能正确重写代码。
<<>>
放弃 mysql_* 的主要原因
你遇到了经典的过时代码问题。mysql_* 函数已在