⊗ppSpPDNP 62 of 83 menu

Αυτόματη αναδίπλωση των placeholder σε εισαγωγικά στο PDO της PHP

Τεχνικά, το PDO τυλίγει όλες τις εισαγόμενες τιμές σε εισαγωγικά, θεωρώντας τις συμβολοσειρές, ακόμα κι αν στην πραγματικότητα είναι αριθμοί. Αυτό είναι επιτρεπτό από τη σύνταξη SQL. Επομένως, οι placeholder δεν χρειάζεται να τυλίγονται σε εισαγωγικά, εάν έχετε τιμή συμβολοσειράς.

Ας δούμε ένα παράδειγμα. Ας υποθέσουμε ότι μια συμβολοσειρά αποθηκεύεται σε μια μεταβλητή:

<?php $name = 'name1'; ?>

Σε αυτήν την περίπτωση, ο θέσεως placeholder δεν χρειάζεται να τυλιχτεί σε εισαγωγικά:

<?php $sql = 'SELECT * FROM users WHERE name=?'; $res = $pdo->prepare(); $res->execute([$name]); ?>

Ονομαστικός placeholder επίσης δεν χρειάζεται να τυλιχτεί σε εισαγωγικά:

<?php $sql = 'SELECT * FROM users WHERE name=:name'; $res = $pdo->prepare(); $res->execute(['name' => $name]); ?>

Το γεγονός ότι στο ερώτημα θα υπάρχουν πάντα συμβολοσειρές, μπορεί μερικές φορές να οδηγήσει σε προβλήματα με τη σύνταξη SQL - σε σημεία όπου η σύνταξη απαιτεί απαραίτητα αριθμούς. Σε αυτήν την περίπτωση, μπορείτε να χρησιμοποιήσετε εναν εναλλακτικό τρόπο σύνδεσης παραμέτρων, τον οποίο θα εξετάσουμε στα επόμενα μαθήματα.

Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη