Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Kod PHP Saya Membuang Ralat 'Tidak Boleh Melepasi Parameter 2 dengan Rujukan'?

Mengapa Kod PHP Saya Membuang Ralat 'Tidak Boleh Melepasi Parameter 2 dengan Rujukan'?

Barbara Streisand
Lepaskan: 2024-12-10 16:28:11
asal
375 orang telah melayarinya

Why Does My PHP Code Throw a

Memahami Ralat "Tidak Boleh Melepasi Parameter 2 melalui Rujukan" PHP

Dalam PHP, menghantar parameter melalui rujukan membenarkan perubahan dibuat pada pembolehubah yang diluluskan kepada dicerminkan dalam pembolehubah asal. Walau bagaimanapun, jika parameter dijangka akan diluluskan melalui rujukan tetapi tidak, ia boleh mengakibatkan ralat "Tidak boleh lulus parameter 2 melalui rujukan".

Senario Ralat Khusus: KEMASKINI Pertanyaan dengan Perbandingan Tarikh

Pertimbangkan kod PHP berikut:

$selectedDate = date('d-m-Y', ($createDate));

$sql = "UPDATE Session SET Active = ? WHERE DATE_FORMAT(SessionDate,'%Y-%m-%d' ) <= ?";
$update = $mysqli->prepare($sql);
$update->bind_param("is", 0, $selectedDate);  // Line 13
Salin selepas log masuk

Dalam ini contoh, Baris 13 cuba untuk mengikat dua parameter pada pernyataan yang disediakan:

  • Parameter pertama ialah integer (0) dan diluluskan oleh nilai.
  • Parameter kedua ialah rentetan ($selectedDate) dan juga diluluskan oleh nilai.

Walau bagaimanapun, parameter kedua dijangka menjadi rujukan kepada pembolehubah, ditunjukkan oleh "s" dalam rentetan jenis "is". Memandangkan ia tidak diluluskan melalui rujukan, ralat "Tidak boleh lulus parameter 2 melalui rujukan" dilemparkan.

Penyelesaian: Melepasi Rujukan Pembolehubah

Untuk menyelesaikan ralat ini, lulus rujukan pembolehubah kepada parameter kedua, seperti ditunjukkan di bawah:

$isActive = 0;
$update->bind_param("is", $isActive, $selectedDate);
Salin selepas log masuk

Dengan menghantar $isActive dengan rujukan, perubahan yang dibuat kepadanya dalam pernyataan yang disediakan akan ditunjukkan dalam pembolehubah asal.

Memahami Rujukan dalam PHP

Untuk mendapatkan maklumat lanjut tentang rujukan dalam PHP, anda boleh merujuk kepada dokumentasi berikut: http://php.net/manual/en/language.references.pass.php.

Atas ialah kandungan terperinci Mengapa Kod PHP Saya Membuang Ralat 'Tidak Boleh Melepasi Parameter 2 dengan Rujukan'?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan