Mar 09, 2013 15:32
Когда мы получаем с клиента булевское значение для использования в запросе PostgreSQL, нельзя обойтись просто фильтрацией, ибо filter_var($_REQUEST['имя'], FILTER_VALIDATE_BOOLEAN) так нам и вернёт bool(true) или bool(false), что при преобразовании к строке даст string("0") или string("1"), а для PostgreSQL это будет INTEGER, и он будет просто в шоке от попытки смешения целочисленного типа с логическим; это же вам не MySQL какой-нибудь.
В общем, нужно вернуть булевское значение к текстовому формату перед подстановкой в SQL-запрос. Например, так: var_export(filter_var($_REQUEST['имя'], FILTER_VALIDATE_BOOLEAN), true). Казалось бы, пустяк, а тоже стоит внимания.
php,
Web-программирование,
postgresql