如何使用已棄用的「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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板