首頁 > 後端開發 > php教程 > 為什麼 `mysqli_real_escape_string()` 拋出「期望剛好 2 個參數,給定 1 個參數」?

為什麼 `mysqli_real_escape_string()` 拋出「期望剛好 2 個參數,給定 1 個參數」?

Susan Sarandon
發布: 2024-12-04 14:50:10
原創
441 人瀏覽過

Why Does `mysqli_real_escape_string()` Throw

解決「mysqli_real_escape_string()需要正好2個參數,給定1個」錯誤

「mysqli_real_escape_string()」旨在轉義字串中的特殊函數旨在轉義字串中的特殊函數旨在轉義字串中的特殊函數字符,以防止SQL注入攻擊。但是,它有一個特定的參數要求,可能會導致錯誤「mysqli_real_escape_string() Expects正好2個參數,給定1個。」

問題分析:

問題分析:

提供的程式碼檢查PHP 版本並嘗試相應地使用“mysqli_real_escape_string()”。然而函數呼叫只包含要轉義的字串,缺少第一個必需參數:mysqli連結。

文檔說明:
  1. 根據官方文檔, “mysqli_real_escape_string()”需要兩個參數:
  2. my 已建立的MySQLi 連線的參考。

string $escapestr: 要轉換的字串

解:
if (phpversion() >= '4.3.0') {
    $string = mysqli_real_escape_string($link, $string);
} else {
    $string = mysqli_escape_string($link, $string);
}
登入後複製

要解決該錯誤,程式碼應在呼叫“mysqli_real_escape_string()”函數時包含這兩個參數。這是更新版本:透過確保提供 mysqli 連結作為第一個參數,「mysqli_real_escape_string()」函數將正確轉義輸入字串並防止 SQL 注入漏洞。

以上是為什麼 `mysqli_real_escape_string()` 拋出「期望剛好 2 個參數,給定 1 個參數」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板