Tidak Boleh Lulus Parameter Melalui Rujukan dengan bindParam untuk Nilai Malar?
Apabila bekerja dengan PDO, anda mungkin menghadapi ralat "Tidak boleh lulus parameter 2 dengan rujukan" apabila menggunakan bindParam dengan nilai tetap. Inilah sebabnya dan cara menyelesaikannya:
Isunya
bindParam menjangkakan pembolehubah akan terikat sebagai rujukan, bukan nilai tetap. Nilai malar seperti null, '' (rentetan kosong) atau PDO::PARAM_NULL tidak boleh dihantar melalui rujukan.
Penyelesaian
Untuk mengikat nilai malar, gunakan bindValue bukannya bindParam. bindValue menerima nilai literal tanpa memberikannya melalui rujukan. Kod berikut menggunakan bindValue untuk memasukkan nilai NULL:
$stmt->bindValue(':v1', null, PDO::PARAM_NULL);
Nota:
Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Menggunakan `bindParam` dengan Nilai Malar dalam PDO?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!