1--TEST-- 2PDO_OCI: Attribute: Oracle Nulls 3--SKIPIF-- 4<?php 5if (!extension_loaded('pdo') || !extension_loaded('pdo_oci')) die('skip not loaded'); 6require(dirname(__FILE__).'/../../pdo/tests/pdo_test.inc'); 7PDOTest::skip(); 8?> 9--FILE-- 10<?php 11 12require(dirname(__FILE__) . '/../../pdo/tests/pdo_test.inc'); 13 14function do_query($dbh) 15{ 16 var_dump($dbh->getAttribute(PDO::ATTR_ORACLE_NULLS)); 17 $s = $dbh->prepare("select '' as myempty, null as mynull from dual"); 18 $s->execute(); 19 while ($r = $s->fetch()) { 20 var_dump($r[0]); 21 var_dump($r[1]); 22 } 23} 24 25$dbh = PDOTest::factory(); 26 27print "PDO::ATTR_ORACLE_NULLS: Default: "; 28do_query($dbh); 29 30print "PDO::ATTR_ORACLE_NULLS: PDO::NULL_NATURAL: "; 31$dbh->setAttribute(PDO::ATTR_ORACLE_NULLS, PDO::NULL_NATURAL); // No conversion. 32 33do_query($dbh); 34 35print "PDO::ATTR_ORACLE_NULLS: PDO::NULL_EMPTY_STRING: "; 36$dbh->setAttribute(PDO::ATTR_ORACLE_NULLS, PDO::NULL_EMPTY_STRING); // Empty string is converted to NULL. 37 38do_query($dbh); 39 40print "PDO::ATTR_ORACLE_NULLS: PDO::NULL_TO_STRING: "; 41$dbh->setAttribute(PDO::ATTR_ORACLE_NULLS, PDO::NULL_TO_STRING); // NULL is converted to an empty string. 42 43do_query($dbh); 44 45echo "Done\n"; 46 47?> 48--EXPECT-- 49PDO::ATTR_ORACLE_NULLS: Default: int(0) 50NULL 51NULL 52PDO::ATTR_ORACLE_NULLS: PDO::NULL_NATURAL: int(0) 53NULL 54NULL 55PDO::ATTR_ORACLE_NULLS: PDO::NULL_EMPTY_STRING: int(1) 56NULL 57NULL 58PDO::ATTR_ORACLE_NULLS: PDO::NULL_TO_STRING: int(2) 59string(0) "" 60string(0) "" 61Done