⊗ppSpPDVB 63 of 83 menu

Positionele binding van variabelen in PDO in PHP

Je kunt variabelen een voor een aan de query binden. Dit wordt gedaan met de methode bindValue. Vervolgens wordt de verkregen query uitgevoerd, maar in dit geval wordt er niets doorgegeven aan execute.

Deze binding maakt het mogelijk om het type variabele exact aan te geven, waardoor automatisch aanhalingstekens plaatsen voor numerieke waarden wordt opgeheven. Laten we eens kijken hoe dit wordt gedaan. Stel dat we twee variabelen hebben, een string en een numerieke:

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

Laten we de query voorbereiden:

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

Laten we nu de variabelen aan de query binden met behulp van de methode bindValue. In de eerste parameter van de methode wordt de positienummer in de query aangegeven, in de tweede parameter - de naam van de variabele, en in de derde wordt het type variabele (numeriek of string) aangegeven:

<?php $res->bindValue(1, $name, PDO::PARAM_INT); $res->bindValue(2, $age, PDO::PARAM_STR); ?>

Laten we de query uitvoeren:

<?php $res->execute(); ?>

Laten we naar het resultaat kijken:

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

Gegeven variabelen:

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

Verkrijg gebruikers waarvan de naam overeenkomt met de waarde van de eerste of tweede variabele.

Gegeven variabelen:

<?php $age1 = 21; $age2 = 22; ?>

Verkrijg gebruikers waarvan de leeftijd overeenkomt met de waarde van de eerste of tweede variabele.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren