Rumah > pembangunan bahagian belakang > tutorial php > Mengapakah `mysqli_real_escape_string()` Membuang Ralat 'Parameter Tidak Padan' dan Bagaimana Saya Boleh Membetulkannya?

Mengapakah `mysqli_real_escape_string()` Membuang Ralat 'Parameter Tidak Padan' dan Bagaimana Saya Boleh Membetulkannya?

DDD
Lepaskan: 2024-12-01 20:37:10
asal
981 orang telah melayarinya

Why Does `mysqli_real_escape_string()` Throw a

mysqli_real_Escape_string: Memahami Ketidakpadanan Parameter

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.

Tandatangan Fungsi

Menurut dokumentasi rasmi, sintaks untuk mysqli_real_escape_string() ialah:

string mysqli_real_escape_string ( mysqli $link , string $escapestr )
Salin selepas log masuk

Ini menunjukkan bahawa fungsi memerlukan dua parameter:

  1. $pautan: Pautan sambungan MySQLi yang sah
  2. $escapestr: Rentetan untuk melarikan diri

Salah Tanggapan Biasa dan Penyelesaian

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);
}
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan