⊗ppSpPDNP 61 of 83 menu

Именувани плейсхолдери в PDO в PHP

За удобство може да се използват именувани плейсхолдери, при които редът на следване на променливите в масива няма значение. Нека да видим как се работи с тях.

Нека отново имаме следните променливи:

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

Нека направим SQL заявка, използвайки именувани плейсхолдери. Техният синтаксис е: двоеточие, последвано от името на плейсхолдера. Да използваме ги в заявката:

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

Подготвяме заявката:

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

Изпълняваме заявката, като й подаваме като параметри асоциативен масив, където ключовете са имената на плейсхолдерите в SQL заявката, а стойностите - съответните променливи:

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

Можем да проверим резултата:

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

Нека съберем всичко заедно и получим следния код:

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

Дадена е променлива:

<?php $age = 30; ?>

Намерете всички потребители, чиято възраст е равна на зададената в променливата стойност.

Дадени са променливи:

<?php $age1 = 20; $age2 = 30; ?>

Намерете всички потребители, чиято възраст е в диапазона, зададен от стойностите на променливите.

Дадени са променливи:

<?php $age1 = 20; $age2 = 30; $salary1 = 1000; $salary2 = 2000; ?>

Намерете всички потребители, чиято възраст И заплата са в диапазона, зададен от стойностите на променливите.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне