Apabila menggunakan fungsi mysqli_real_escape_string(), pembangun mungkin menghadapi ralat: "mysqli_real_escape_string() menjangkakan 12 parameter yang diberikan tepat " Untuk menyelesaikan masalah ini, kita perlu memahami penggunaan fungsi yang betul dan keperluan parameternya.
Menurut dokumentasi rasmi, sintaks untuk mysqli_real_escape_string() ialah:
string mysqli_real_escape_string ( mysqli $link , string $escapestr )
Ini menunjukkan bahawa fungsi memerlukan dua parameter:
Coretan kod yang disediakan cuba menyemak versi PHP untuk menentukan sama ada hendak menggunakan mysqli_real_escape_string() atau mysqli_escape_string(). Walau bagaimanapun, ia gagal kerana mysqli_real_escape_string() memerlukan pautan sambungan MySQLi sebagai parameter pertama, yang tiada dalam kod.
Untuk membetulkan ralat ini, kami perlu menyediakan parameter yang betul kepada mysqli_real_escape_string(). Ini boleh dicapai dengan mewujudkan sambungan MySQLi dan menghantar pautan sambungan sebagai hujah pertama kepada fungsi tersebut.
Berikut ialah contoh cara menggunakannya dengan betul:
$mysqli = new mysqli('host', 'username', 'password', 'database'); if (phpversion() >= '4.3.0'){ $string = mysqli_real_escape_string($mysqli, $string); }else{ $string = mysqli_escape_string($mysqli, $string); }
Dalam kod ini , pembolehubah $mysqli mewakili pautan sambungan MySQLi yang sah, yang dihantar ke mysqli_real_escape_string() bersama-sama dengan $string untuk dilepaskan. Ini sepatutnya menyelesaikan ralat dan membolehkan anda menggunakan mysqli_real_escape_string() seperti yang dimaksudkan.
Atas ialah kandungan terperinci Mengapakah `mysqli_real_escape_string()` Membuang Ralat 'Parameter Tidak Padan' dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!