Rumah > pembangunan bahagian belakang > tutorial php > Pernyataan Disediakan PDO: Adakah Tanda Titik Diperlukan dalam Nama Parameter?

Pernyataan Disediakan PDO: Adakah Tanda Titik Diperlukan dalam Nama Parameter?

Patricia Arquette
Lepaskan: 2024-11-15 01:28:02
asal
986 orang telah melayarinya

PDO Prepared Statements: Are Colons Required in Parameter Names?

Penyata Disediakan PDO: Apakah Tanda Titik Bertitik dalam Nama Parameter?

Pengenalan

Bila menggunakan PDO dengan parameter bernama, sesetengah pembangun menyertakan titik bertindih (:) sebelum nama parameter manakala yang lain meninggalkannya sepenuhnya. Walaupun kedua-dua pendekatan kelihatan berfungsi, kepentingan titik bertindih ini telah menjadi subjek rasa ingin tahu.

Keperluan Sintaksis

Dalam rentetan SQL, pemegang tempat yang dinamakan dikehendaki mempunyai kolon seperti yang dinyatakan dalam dokumentasi PHP. Ini kerana ia membantu dalam pengenalpastian parameter yang tidak jelas.

$insertRecord = $conn->prepare('INSERT INTO Table1 (column1, column2)
    VALUES(:column1, :column2)');
//         ^         ^  note the colons
Salin selepas log masuk

Kolon Pilihan dalam Pengikatan dan Pelaksanaan

Tidak seperti dalam rentetan SQL, titik bertindih adalah pilihan dalam PDOStatement:: bindParam() dan PDOStatement::execute(). Berikut ialah contoh mengikat dan melaksanakan pernyataan dengan dan tanpa titik bertindih:

$insertRecord->execute(array(
    ':column1' => $column1,
    ':column2' => $column2
));

// or

$insertRecord->execute(array(
    'column1' => $column1,
    'column2' => $column2
));
Salin selepas log masuk

Mengapa Ia Berfungsi

Dengan memeriksa kod sumber PHP, kami mendapati bahawa penterjemah menjangkakan hanya satu titik bertindih dalam ruang letak. Oleh itu, :name adalah sah, manakala nama dan ::name adalah tidak sah.

Ini membolehkan penterjemah menganggap bahawa parameter bernama nama dalam bindParam() atau execute() sepatutnya ialah :name. Fail pdo_stmt.c menunjukkan tingkah laku ini. Oleh itu, PHP menambah titik bertindih secara automatik pada nama parameter yang kekurangannya.

Amalan Terbaik

Secara teknikal, kedua-dua pendekatan berfungsi. Walau bagaimanapun, untuk ketekalan, kebolehbacaan dan kemudahan carian dalam IDE, adalah dinasihatkan untuk menggunakan kolon. Pendekatan ini menghapuskan kekaburan dan selaras dengan amalan terbaik yang diterima.

Atas ialah kandungan terperinci Pernyataan Disediakan PDO: Adakah Tanda Titik Diperlukan dalam Nama Parameter?. 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