|
|
|
@ -0,0 +1,38 @@ |
|
|
|
--TEST-- |
|
|
|
Bug #46139 (PDOStatement->setFetchMode() forgets FETCH_PROPS_LATE) |
|
|
|
--FILE-- |
|
|
|
<?php |
|
|
|
|
|
|
|
require dirname(__FILE__) . '/../../../ext/pdo/tests/pdo_test.inc'; |
|
|
|
$db = PDOTest::test_factory(dirname(__FILE__) . '/common.phpt'); |
|
|
|
|
|
|
|
class Person { |
|
|
|
public $test = NULL; |
|
|
|
public function __construct() { |
|
|
|
var_dump($this->test); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
$stmt = $db->query("SELECT 'foo' test, 1"); |
|
|
|
$stmt->setFetchMode(PDO::FETCH_CLASS | PDO::FETCH_PROPS_LATE, 'Person'); |
|
|
|
$r1 = $stmt->fetch(); |
|
|
|
printf("'%s'\n", $r1->test); |
|
|
|
|
|
|
|
$stmt = $db->query("SELECT 'foo' test, 1"); |
|
|
|
$stmt->setFetchMode(PDO::FETCH_CLASS | PDO::FETCH_PROPS_LATE, 'Person'); |
|
|
|
$r1 = $stmt->fetchAll(); |
|
|
|
printf("'%s'\n", $r1[0]->test); |
|
|
|
|
|
|
|
$stmt = $db->query("SELECT 'foo' test, 1"); |
|
|
|
$stmt->setFetchMode(PDO::FETCH_CLASS | PDO::FETCH_PROPS_LATE, 'Person'); |
|
|
|
$r1 = $stmt->fetch(PDO::FETCH_CLASS | PDO::FETCH_PROPS_LATE); |
|
|
|
printf("'%s'\n", $r1->test); |
|
|
|
|
|
|
|
?> |
|
|
|
--EXPECT-- |
|
|
|
NULL |
|
|
|
'foo' |
|
|
|
NULL |
|
|
|
'foo' |
|
|
|
NULL |
|
|
|
'foo' |