Мне нужно выполнить свою функцию внутри такого запроса
$re = $bddp->prepare("SELECT * FROM `shop`, `hours` WHERE isOpen('`hours`.`day1`') = true";
$re->execute();
hours
. day1
- это varchar с часами работы в понедельник, например "10: 00-14: 00".
Функция isOpen
проверяет, открыто оно или нет, и возвращает true
или false
Вопрос в том, кому я могу отправить hours.day1
как переменную в функцию isOpen
в WHERE isOpen ('hours
. day1
') ?
Невозможно использовать PDO для подготовки или выполнения для этого?
1 ответ
В запросе SQL вы можете использовать только собственные функции MySQL, хранимые функции / процедуры и Пользовательские функции ( UDF).
Думаю, у вас не было бы проблем, если бы структура таблицы была правильной (время начала и окончания было в отдельных столбцах). Тогда вы сможете достичь своей цели только с несколькими условиями в части WHERE.
Если количество данных (количество строк) невелико, вы можете просто выбрать все строки и выполнить проверку на стороне PHP.
Похожие вопросы
Новые вопросы
php
PHP - это широко используемый высокоуровневый, динамический, объектно-ориентированный и интерпретируемый язык сценариев, в первую очередь предназначенный для серверной веб-разработки. Используется для вопросов о языке PHP.
hours.day1
, поскольку она заключена в одинарные кавычки. Если вы удалите одинарные кавычки, это все равно неверно, поскольку затем он пытается передать столбецday1
из таблицыhours
(попробуйте запятую вместо точки).