⊗ppSpPDPP 60 of 83 menu

Posisjonale plassholdere i PDO i PHP

La oss finne ut hvordan vi jobber med posisjonale plassholdere. La oss si at vi har to variabler som vi ønsker å sette inn i spørringen:

<?php $min = 1; $max = 5; ?>

La oss si at vi ønsker å sette inn variablene våre på følgende måte:

<?php $sql = "SELECT * FROM users WHERE id>$min and id<$max"; ?>

Dette er imidlertid ikke trygt. Så i stedet for å sette inn variablene direkte, erstatter vi dem med posisjonale plassholdere, som er spørsmålstegn:

<?php $sql = 'SELECT * FROM users WHERE id>? and id<?'; ?>

La oss nå utføre kommandoen som forbereder spørringen:

<?php $res = $pdo->prepare($sql); ?>

La oss nå utføre spørringen ved å sende en array som inneholder variablene våre som parametere. Variablene vil bli satt inn i spørringen i den rekkefølgen de er oppgitt i arrayen:

<?php $res->execute([$min, $max]); ?>

Etter dette kan vi hente resultatet av spørringen:

<?php while ($row = $res->fetch()) { var_dump($row); } ?>

La oss sette alt sammen og få følgende kode:

<?php $min = 1; $max = 5; $sql = 'SELECT * FROM users WHERE id>? and id<?'; $res = $pdo->prepare($sql); $res->execute([$min, $max]); while ($row = $res->fetch()) { var_dump($row); } ?>

Følgende variabler er gitt:

<?php $age = 30; $salary = 1000; ?>

Finn alle brukere som har alder eller lønn lik verdiene gitt i variablene.

Prøv å utføre en SQL-injeksjon i koden din. Forsikre deg om at det ikke vil lykkes.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis