首頁 >資料庫 >mysql教程 >為什麼升級 PHP 後我的 mysql_* 函數被棄用?

為什麼升級 PHP 後我的 mysql_* 函數被棄用?

Patricia Arquette
Patricia Arquette原創
2024-11-05 13:33:02702瀏覽

Why Are My mysql_* Functions Deprecated After Upgrading PHP?

PHP 升級後棄用的mysql_* 函數:解決方法

從PHP 5.2.0 升級到5.5.0 後,嘗試時可能會出現問題使用mysql_* 函數。這是由於這些函數已被棄用。

遇到錯誤:已棄用的mysql_real_escape_string()

要解決此問題,請將mysql_real_escape_string() 替換為其現代化的對應項目:mystring_real_escape_sql. .

遇到錯誤:mysqli_real_escape_string() 需要2 個參數

使用mysqli_real_escape_string() 時,需要兩個參數:連接變數和要轉義的字串。

經過修改的範例程式碼:

<?php
$connection = mysqli_connect("host", "my_user", "my_password", "my_db");
$username = mysqli_real_escape_string($connection, $username);
$password = mysqli_real_escape_string($connection, $password);

$query = "SELECT * FROM login WHERE username = '{$username}' AND password = '{$password}' AND status=1";

考慮使用物件導向的方法

為了提高可維護性,請考慮使用資料庫物件類,它封裝了連接詳細資訊:

<?php
class Database {
    private $connection;

    public function __construct($host, $user, $password, $database) {
        $this->connection = mysqli_connect($host, $user, $password, $database);
    }

    public function escape($string) {
        return mysqli_real_escape_string($this->connection, $string);
    }

    // Other database operations...
}

結論:

透過遵循這些準則,開發人員可以成功解決mysql_ 遇到的棄用問題* 升級PHP後即可使用。

以上是為什麼升級 PHP 後我的 mysql_* 函數被棄用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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