PHP 升級:無法使用mysql_* 函數
從先前的版本(例如PHP 5.2.0)升級到PHP 5.5.0 後,開發人員可能會遇到已棄用的mysql_* 函數的問題。遇到的一個常見錯誤是:
Deprecated: mysql_real_escape_string()
要解決此問題,建議將已棄用的 mysql_ 函數替換為 mysqli_ 對應函數。例如,應該使用 mysqli_real_escape_string() 而不是 mysql_real_escape_string()。
但是,要注意的是 mysqli_real_escape_string() 需要兩個參數:連接變數和轉義字串。當嘗試只使用一個參數的 mysqli_real_escape_string() 時,可能會遇到以下錯誤:
Warning: mysqli_real_escape_string() expects exactly 2 parameters, 1 given in
要修正此錯誤,必須將連接變數作為第一個參數傳遞。該變數是透過使用mysqli_connect() 建立與資料庫的連接來獲取的:
<code class="php">$connection = mysqli_connect("host", "username", "password", "database");</code>
可以修改提供的程式碼範例以正確使用mysqli_real_escape_string():
<code class="php">$username = mysqli_real_escape_string($connection, $username); $password = mysqli_real_escape_string($connection, $password);</code>
它是定期更新PHP 知識以了解最新的最佳實踐並避免此類錯誤至關重要。或者,考慮使用資料庫物件連接到資料庫並自動處理轉義。
以上是為什麼 PHP 升級到 5.5.0 後 mysql_* 函數不起作用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!