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