НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
⊗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
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить