У меня огромный SELECT, где мне нужно сделать некоторые условия.MySQL: добавление условий в SELECT
Например:
SELECT `t`.`title`, `t`.`price_paid`, `t`.`date_creation`, `t`.`date_upload`
FROM `table_name` AS `t`
WHERE `t`.`date_creation` >= "'.$year.'-'.$month.'-01"
AND `t`.`date_creation` < "'.$year.'-'.($month+1).'-01"
Я объявляю в PHP значения $ год и $ в месяц, и я хочу все остальные должны быть сделаны в MYSQL (у меня есть веские причины, я могу подробно, если необходимо)
Мне нужно сделать date_upload
пустым (null или 0) и price
также пустым, если date_upload не с тем же интервалом, что и t
. date_creation
может динамически Crea т. е. инструкцию SQL в PHP и передать переменную в объект запроса? –
Давайте использовать параметры для вашего запроса с помощью?? (это синтаксис SQL, а не PHP). Сторона PHP просто добавляет значение предварительно рассчитанных параметров с помощью bindValue().Чтобы сделать их пустыми, вы не можете использовать WHERE, кроме оператора CASE (только THEN NULL, если условие не выполнено) –
Чтобы избежать [SQL], используйте [надлежащее SQL-экранирование] (http://bobby-tables.com/php) инъекционные ошибки] (http://bobby-tables.com/). – tadman