首页  >  文章  >  后端开发  >  如何现代化您的 MySQL-PHP 代码:用准备好的语句和 PDO 替换已弃用的“mysql_*”函数?

如何现代化您的 MySQL-PHP 代码:用准备好的语句和 PDO 替换已弃用的“mysql_*”函数?

Susan Sarandon
Susan Sarandon原创
2024-10-26 18:25:03616浏览

How to Modernize Your MySQL-PHP Code: Replacing Deprecated `mysql_*` Functions with Prepared Statements and PDO?

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

随着 PHP 的发展,某些函数将被弃用,包括 mysql_* 命令。为了增强安全性和稳定性,这些命令应该替换为准备好的语句和 PDO。

关键替换:

  • 将 mysql_connect 替换为 PDO::__construct() .
  • 将 mysql_select_db 替换为在 PDO 连接字符串中设置数据库名称,例如 mysql:host=127.0.0.1;dbname=people。

代码示例:

<code class="php"> // Old deprecated code
$db = new dbConn('127.0.0.1', 'root', 'pass', 'people', 'animals');

 // New PDO code
$db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');</code>

其他注意事项:

  • 构造函数和析构函数: __construct() 和 __destruct() 函数不是对于 PDO 来说是必需的,因为它在内部处理连接和关闭。
  • 数据库选择:数据库选择现在嵌入到 PDO 连接字符串中。使用连接字符串中的 dbname 参数指定所需的数据库。

示例类:

以下示例类演示如何使用重写 selectDb 方法PDO:

<code class="php">class DB
{
    private $pdo;

    public function __construct($host, $db, $user, $pass)
    {
        // Establish PDO connection
        $this->pdo = new PDO("mysql:host=$host;dbname=$db;charset=UTF-8", $user, $pass);
    }

    public function selectDatabase($dbName)
    {
        // No longer required with PDO
    }
}</code>

结论:

通过使用预准备语句和 PDO 替换已弃用的 mysql_* 函数,开发人员可以增强代码的安全性和稳定性,同时简化数据库互动。

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn