如何使用已弃用的'mysql_*”函数以及现代准备好的语句和 PDO 重写旧的 MySQL-PHP 代码?

Patricia Arquette
发布: 2024-10-26 00:55:28
原创
266 人浏览过

How can I rewrite old MySQL-PHP code using deprecated `mysql_*` functions with modern prepared statements and PDO?

使用已弃用的 mysql_* 函数重写旧的 MySQL-PHP 代码

在这个 PHP 开发的现代时代,必须保持警惕 -最新的最佳实践。最紧迫的问题之一是弃用 mysql_* 函数,转而使用更安全、稳定的准备好的语句和 PDO(PHP 数据对象)。

如果您发现自己处于使用遗留代码的不幸情况,仍然使用 mysql_* 函数,不用担心!这是帮助您成功完成此转换的分步指南。

转换连接参数

您的初始配置将转换为 PDO 的连接字符串,如下所示:

<code class="php">// Old:  $db = new dbConn('127.0.0.1', 'root', 'pass', 'people', 'animals');
// New:  $db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');</code>
登录后复制

删除冗余函数

PDO 不再需要构造函数 (__construct) 和析构函数 (__destruct)。实例化 PDO 对象时会自动建立连接。

重构数据库选择

selectDb 函数也变得多余。数据库选择已合并到 PDO 连接字符串中。

更新的类

以下代码反映了更新的 dbConn 类:

<code class="php">class dbConn extends PDO
{
    public function __construct($dsn, $user, $password, $options = [])
    {
        parent::__construct($dsn, $user, $password, $options);
    }
}</code>
登录后复制

可扩展性

如果需要,您可以从 PDO 扩展以创建您自己的自定义数据库类。这可以让您的代码更加灵活和流畅。

示例用法

<code class="php">$db = new dbConn('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');

// Query using prepared statements
$statement = $db->prepare('SELECT * FROM users WHERE name = ?');
$statement->execute([$name]);</code>
登录后复制

结论

在中采用 PDO您的 PHP 代码会带来增强的安全性、稳定性和开发人员友好性。通过遵循这些步骤,您可以成功重写旧的 mysql_* 代码并提升您的 PHP 开发实践。

以上是如何使用已弃用的'mysql_*”函数以及现代准备好的语句和 PDO 重写旧的 MySQL-PHP 代码?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板