PHP 升級後使用mysql_* 函數遇到困難
升級到PHP 5.5.0 的用戶在嘗試使用mysql_* 函數時可能會遇到問題,因為這些函數在此版本中已被棄用。
了解問題
遇到的常見錯誤之一是「已棄用:mysql_real_escape_string()」。這表示不再支援 mysql_real_escape_string() 函數。嘗試將其替換為 mysqli_real_escape_string() 會導致另一個錯誤,「警告:mysqli_real_escape_string() 需要恰好 2 個參數,給定 1 個」。
解決問題
至要解決此問題,建議過渡到使用 mysqli 擴展而不是 mysql 擴展。這需要更新您的 PHP 程式碼以利用 mysqli 函數。
修訂的PHP 程式碼
以下是作為範例提供的程式碼的修訂版本:
<code class="php"><?php require_once("includes/session.php"); require_once("connections/connection.php"); require_once("includes/functions.php"); // ... (remainder of the PHP code) $connection = mysqli_connect("host", "my_user", "my_password", "my_db"); // ... (remainder of the PHP code) $username = mysqli_real_escape_string($connection, $username); $password = mysqli_real_escape_string($connection, $password); // ... (remainder of the PHP code) // ... (mysqli alternative not shown in detail) if (isset($connection)) { mysqli_close($connection); } ?></code>
結論
結論升級到PHP 5.5.0 需要對現有PHP 程式碼進行相容性調整。過渡到 mysqli 擴充功能並利用其功能是解決與已棄用的 mysql_* 函數相關問題的有效解決方案。以上是為什麼升級到 PHP 5.5.0 後我的 mysql_* 函數無法運作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!