Передача булевского значения через PHP в PostgreSQL

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

Previous post Next post
Up