⊗ppSpPDPP 60 of 83 menu

Positionelle pladsholdere i PDO i PHP

Lad os finde ud af, hvordan man arbejder med positionelle pladsholdere. Antag, at vi har to variable, som vi gerne vil indsætte i forespørgslen:

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

Antag, at vi vil indsætte vores variable på følgende måde:

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

Dette er imidlertid ikke sikkert at gøre. Derfor, i stedet for at indsætte variable direkte, erstatter vi dem med positionelle pladsholdere, som repræsenteres af spørgsmålstegn:

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

Lad os nu udføre kommandoen, som forbereder forespørgslen:

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

Lad os nu udføre forespørgslen ved at give den parametre i form af en array, der indeholder vores variable. Her vil variable blive indsat i forespørgslen i den rækkefølge, de er angivet i arrayet:

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

Herefter kan vi hente resultatet af forespørgslen:

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

Lad os samle 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); } ?>

Der er givet variable:

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

Find alle brugere, hvis alder eller løn er lig med de værdier, der er angivet i variablene.

Prøv at udføre en SQL-injektion i din kode. Vær sikker på, at det ikke vil lykkes.

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