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
884 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!

sumber:php.cn
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