diff options
author | Christopher Jones <sixd@php.net> | 2007-07-03 05:47:53 +0000 |
---|---|---|
committer | Christopher Jones <sixd@php.net> | 2007-07-03 05:47:53 +0000 |
commit | 25ce6d9580466170fe1e92933125f6362b5f3b39 (patch) | |
tree | 2a3a4a81ee9e9a14a664223c3982c9144bf2e05b /ext/pdo_oci/tests | |
parent | a0dce7b9cc4cc88bfd9765069a0e0002c86ccc2a (diff) | |
download | php-git-25ce6d9580466170fe1e92933125f6362b5f3b39.tar.gz |
MFB: Basic PDO->quote() for PDO_OCI
Diffstat (limited to 'ext/pdo_oci/tests')
-rw-r--r-- | ext/pdo_oci/tests/pdo_oci_quote1.phpt | 286 |
1 files changed, 286 insertions, 0 deletions
diff --git a/ext/pdo_oci/tests/pdo_oci_quote1.phpt b/ext/pdo_oci/tests/pdo_oci_quote1.phpt new file mode 100644 index 0000000000..f76b6cd5ef --- /dev/null +++ b/ext/pdo_oci/tests/pdo_oci_quote1.phpt @@ -0,0 +1,286 @@ +--TEST-- +Test PDO->quote() for PDO_OCI +--SKIPIF-- +<?php +die('skip triggers query errors'); +if (!extension_loaded('pdo') || !extension_loaded('pdo_oci')) die('skip not loaded'); +require(dirname(__FILE__).'/../../pdo/tests/pdo_test.inc'); +PDOTest::skip(); +?> +--FILE-- +<?php + +require dirname(__FILE__) . '/../../pdo/tests/pdo_test.inc'; +$db = PDOTest::factory(); + +@$db->exec("drop table poq_tab"); +$db->query("create table poq_tab (t varchar2(100))"); +$stmt = $db->prepare('select * from poq_tab'); + +// The intent is that the fetched data be identical to the unquoted string. +// Remember!: use bind variables instead of PDO->quote() + +$a = array(null, "", "a", "ab", "abc", "ab'cd", "a\b\n", "'", "''", "a'", "'z", "a''b", '"'); +foreach ($a as $u) { + $q = $db->quote($u); + echo "Unquoted : "; + var_dump($u); + echo "Quoted : "; + var_dump($q); + + $db->exec("delete from poq_tab"); + + $db->query("insert into poq_tab (t) values($q)"); + $stmt->execute(); + var_dump($stmt->fetchAll(PDO::FETCH_ASSOC)); +} + +echo "Done\n"; + +@$db->exec("drop table poq_tab"); + +?> +--EXPECTF-- +Unquoted : NULL +Quoted : string(2) "''" +array(1) { + [0]=> + array(1) { + ["t"]=> + NULL + } +} +Unquoted : string(0) "" +Quoted : string(2) "''" +array(1) { + [0]=> + array(1) { + ["t"]=> + NULL + } +} +Unquoted : string(1) "a" +Quoted : string(3) "'a'" +array(1) { + [0]=> + array(1) { + ["t"]=> + string(1) "a" + } +} +Unquoted : string(2) "ab" +Quoted : string(4) "'ab'" +array(1) { + [0]=> + array(1) { + ["t"]=> + string(2) "ab" + } +} +Unquoted : string(3) "abc" +Quoted : string(5) "'abc'" +array(1) { + [0]=> + array(1) { + ["t"]=> + string(3) "abc" + } +} +Unquoted : string(5) "ab'cd" +Quoted : string(8) "'ab''cd'" +array(1) { + [0]=> + array(1) { + ["t"]=> + string(5) "ab'cd" + } +} +Unquoted : string(4) "a\b +" +Quoted : string(6) "'a\b +'" +array(1) { + [0]=> + array(1) { + ["t"]=> + string(4) "a\b +" + } +} +Unquoted : string(1) "'" +Quoted : string(4) "''''" +array(1) { + [0]=> + array(1) { + ["t"]=> + string(1) "'" + } +} +Unquoted : string(2) "''" +Quoted : string(6) "''''''" +array(1) { + [0]=> + array(1) { + ["t"]=> + string(2) "''" + } +} +Unquoted : string(2) "a'" +Quoted : string(5) "'a'''" +array(1) { + [0]=> + array(1) { + ["t"]=> + string(2) "a'" + } +} +Unquoted : string(2) "'z" +Quoted : string(5) "'''z'" +array(1) { + [0]=> + array(1) { + ["t"]=> + string(2) "'z" + } +} +Unquoted : string(4) "a''b" +Quoted : string(8) "'a''''b'" +array(1) { + [0]=> + array(1) { + ["t"]=> + string(4) "a''b" + } +} +Unquoted : string(1) """ +Quoted : string(3) "'"'" +array(1) { + [0]=> + array(1) { + ["t"]=> + string(1) """ + } +} +Done +--UEXPECTF-- +Unquoted : NULL +Quoted : unicode(2) "''" +array(1) { + [0]=> + array(1) { + ["t"]=> + NULL + } +} +Unquoted : unicode(0) "" +Quoted : unicode(2) "''" +array(1) { + [0]=> + array(1) { + ["t"]=> + NULL + } +} +Unquoted : unicode(1) "a" +Quoted : unicode(3) "'a'" +array(1) { + [0]=> + array(1) { + ["t"]=> + unicode(1) "a" + } +} +Unquoted : unicode(2) "ab" +Quoted : unicode(4) "'ab'" +array(1) { + [0]=> + array(1) { + ["t"]=> + unicode(2) "ab" + } +} +Unquoted : unicode(3) "abc" +Quoted : unicode(5) "'abc'" +array(1) { + [0]=> + array(1) { + ["t"]=> + unicode(3) "abc" + } +} +Unquoted : unicode(5) "ab'cd" +Quoted : unicode(8) "'ab''cd'" +array(1) { + [0]=> + array(1) { + ["t"]=> + unicode(5) "ab'cd" + } +} +Unquoted : unicode(4) "a\b +" +Quoted : unicode(6) "'a\b +'" +array(1) { + [0]=> + array(1) { + ["t"]=> + unicode(4) "a\b +" + } +} +Unquoted : unicode(1) "'" +Quoted : unicode(4) "''''" +array(1) { + [0]=> + array(1) { + ["t"]=> + unicode(1) "'" + } +} +Unquoted : unicode(2) "''" +Quoted : unicode(6) "''''''" +array(1) { + [0]=> + array(1) { + ["t"]=> + unicode(2) "''" + } +} +Unquoted : unicode(2) "a'" +Quoted : unicode(5) "'a'''" +array(1) { + [0]=> + array(1) { + ["t"]=> + unicode(2) "a'" + } +} +Unquoted : unicode(2) "'z" +Quoted : unicode(5) "'''z'" +array(1) { + [0]=> + array(1) { + ["t"]=> + unicode(2) "'z" + } +} +Unquoted : unicode(4) "a''b" +Quoted : unicode(8) "'a''''b'" +array(1) { + [0]=> + array(1) { + ["t"]=> + unicode(4) "a''b" + } +} +Unquoted : unicode(1) """ +Quoted : unicode(3) "'"'" +array(1) { + [0]=> + array(1) { + ["t"]=> + unicode(1) """ + } +} +Done |