使用已弃用的 mysql_* 函数重写旧版 PHP 代码
正如您所发现的,由于安全原因,PHP 中的 mysql_* 函数已被弃用和稳定性问题。要有效地重写代码,请考虑以下准则:
1.切换到 PDO 或准备语句:
用 PDO 或准备语句替换 mysql_* 函数,以提高安全性并避免 SQL 注入漏洞。
2.重新配置数据库连接:
应使用连接字符串而不是单个参数来建立数据库连接。例如:
<code class="php">$db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');</code>
3。删除不必要的构造函数和析构函数:
PDO 不再需要 __construct 和 __destruct 等函数。 PDO 在内部处理数据库连接和清理。
4.简化数据库选择:
要使用 PDO 选择数据库,请使用 exec 方法:
<code class="php">$db->exec("USE " . $database);</code>
5.考虑数据库类扩展:
如果需要,您可以从 PDO 扩展以创建具有自定义功能的自己的数据库类。
示例重写:
您的原始脚本可以使用 PDO 重写如下:
<code class="php">class dbConn extends PDO { public function connect() { try { parent::__construct('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass'); } catch (PDOException $e) { die('Database connection failed: ' . $e->getMessage()); } } public function selectDb($database) { $this->exec("USE " . $database); $this->query("SET NAMES 'utf8'"); } }</code>
请记住,切换到 PDO 或准备好的语句不仅可以增强安全性,还可以简化代码维护并提高性能。
以上是如何使用已弃用的'mysql_*”函数重写旧版 PHP 代码?的详细内容。更多信息请关注PHP中文网其他相关文章!