⊗ppSpPDPP 60 of 83 menu

Positionsbaserade platshållare i PDO i PHP

Låt oss ta reda på hur man arbetar med positionsbaserade platshållare. Låt oss säga att vi har två variabler som vi skulle vilja sätta in i frågan:

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

Låt oss säga att vi vill sätta in våra variabler på följande sätt:

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

Detta är dock inte säkert att göra. Därför, istället för att sätta in variablerna direct, ersätter vi dem med positionsbaserade platshållare, som representeras av frågetecken:

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

Nu kör vi kommandot som förbereder frågan:

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

Nu kör vi frågan genom att skicka parametrarna som en array som innehåller våra variabler. Variablerna kommer att sättas in i frågan i den ordning de är angivna i arrayen:

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

Efter detta kan vi få resultatet av frågan:

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

Låt oss sätta ihop allt och få följande kod:

<?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öljande variabler är givna:

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

Hitta alla användare som har ålder eller lön lika med de värden som anges i variablerna.

Försök att genomföra en SQL-injektion i din kod. Var säker på att det inte kommer att lyckas.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa