Скажем, у меня есть этот запрос:Есть ли способ сделать параметр необязательным в PHP PDO?
$qry = 'SELECT p.id FROM products p
WHERE p.type = :type AND p.parent = :parent';
Если бы я хотел сделать «тип» по желанию, то единственный способ я знаю, как сделать это было бы сделать что-то вроде этого:
$qry = 'SELECT p.id FROM products p
WHERE p.parent = :parent';
if(isset($type))
{
$qry .= 'AND p.type = :type';
}
ли это лучший способ? Мне интересно, есть ли способ сохранить его как оригинал и использовать какой-то параметр, чтобы указать, что он является необязательным ... Например, если $ type = "*", то вытащите все типы.
Каков наилучший способ сделать это?
или просто 'if (! Empty ($ type)) {}' – choise
Это зависит от того, является ли пустое значение, если допустимое значение для поля это не так? –
@choise Мне нравится! = '', Поскольку empty() видит 0 (int/string) и FALSE как пустые, но они могут быть приемлемыми значениями. –