首頁  >  文章  >  後端開發  >  如何使用已棄用的「mysql_*」函數以及現代準備好的語句和 PDO 重寫舊的 MySQL-PHP 程式碼?

如何使用已棄用的「mysql_*」函數以及現代準備好的語句和 PDO 重寫舊的 MySQL-PHP 程式碼?

Patricia Arquette
Patricia Arquette原創
2024-10-26 00:55:28214瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn