Tom Lane wrote:
> "Yujin" <aloudnoise@mail.ru> writes:
>
>> When i get query from table with bolean type fields, that have false value ,
>> function PDO -> fetch return that fields with not "0" value , but empty
>> string.
>>
>
> Are you sure the field is actually false, and not null?
>
> If so, this is a PDO bug, not a Postgres bug.
>
> regards, tom lane
>
>
Does seem to be a PDO bug or some sort:
Trying out some code with Php 5.3.1-dev:
$sql = "SELECT false";
$stmt = $dbh->query($sql);
$result = $stmt->fetch(PDO::FETCH_NUM);
print(" " . $result[0] . "\n");
reproduces what Yujin is seeing, whereas replacing $sql with:
$sql = "SELECT false::int4";
gives a 0 in the result array. I guess it must be something funny with
how PDO represents the bool type...(will have a look at the PDI code).
But this needs to be raised on bugs.php.net.
Cheers
Mark