使用已棄用的mysql_* 函數重寫舊版PHP 程式碼
正如您所發現的,由於安全原因,PHP 中的mysql_* 函數已被棄用和穩定性問題。要有效地重寫程式碼,請考慮以下準則:
1.切換到PDO 或準備語句:
用PDO 或準備語句替換mysql_* 函數,以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中文網其他相關文章!