Annotation of embedaddon/php/ext/pdo_oci/tests/pdo_oci_quote1.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test PDO->quote() for PDO_OCI
! 3: --SKIPIF--
! 4: <?php
! 5: if (!extension_loaded('pdo') || !extension_loaded('pdo_oci')) die('skip not loaded');
! 6: require(dirname(__FILE__).'/../../pdo/tests/pdo_test.inc');
! 7: PDOTest::skip();
! 8: ?>
! 9: --FILE--
! 10: <?php
! 11:
! 12: require dirname(__FILE__) . '/../../pdo/tests/pdo_test.inc';
! 13: $db = PDOTest::factory();
! 14:
! 15: @$db->exec("drop table poq_tab");
! 16: $db->query("create table poq_tab (t varchar2(100))");
! 17: $stmt = $db->prepare('select * from poq_tab');
! 18:
! 19: // The intent is that the fetched data be identical to the unquoted string.
! 20: // Remember!: use bind variables instead of PDO->quote()
! 21:
! 22: $a = array(null, "", "a", "ab", "abc", "ab'cd", "a\b\n", "'", "''", "a'", "'z", "a''b", '"');
! 23: foreach ($a as $u) {
! 24: $q = $db->quote($u);
! 25: echo "Unquoted : ";
! 26: var_dump($u);
! 27: echo "Quoted : ";
! 28: var_dump($q);
! 29:
! 30: $db->exec("delete from poq_tab");
! 31:
! 32: $db->query("insert into poq_tab (t) values($q)");
! 33: $stmt->execute();
! 34: var_dump($stmt->fetchAll(PDO::FETCH_ASSOC));
! 35: }
! 36:
! 37: echo "Done\n";
! 38:
! 39: @$db->exec("drop table poq_tab");
! 40:
! 41: ?>
! 42: --EXPECTF--
! 43: Unquoted : NULL
! 44: Quoted : string(2) "''"
! 45: array(1) {
! 46: [0]=>
! 47: array(1) {
! 48: ["t"]=>
! 49: NULL
! 50: }
! 51: }
! 52: Unquoted : string(0) ""
! 53: Quoted : string(2) "''"
! 54: array(1) {
! 55: [0]=>
! 56: array(1) {
! 57: ["t"]=>
! 58: NULL
! 59: }
! 60: }
! 61: Unquoted : string(1) "a"
! 62: Quoted : string(3) "'a'"
! 63: array(1) {
! 64: [0]=>
! 65: array(1) {
! 66: ["t"]=>
! 67: string(1) "a"
! 68: }
! 69: }
! 70: Unquoted : string(2) "ab"
! 71: Quoted : string(4) "'ab'"
! 72: array(1) {
! 73: [0]=>
! 74: array(1) {
! 75: ["t"]=>
! 76: string(2) "ab"
! 77: }
! 78: }
! 79: Unquoted : string(3) "abc"
! 80: Quoted : string(5) "'abc'"
! 81: array(1) {
! 82: [0]=>
! 83: array(1) {
! 84: ["t"]=>
! 85: string(3) "abc"
! 86: }
! 87: }
! 88: Unquoted : string(5) "ab'cd"
! 89: Quoted : string(8) "'ab''cd'"
! 90: array(1) {
! 91: [0]=>
! 92: array(1) {
! 93: ["t"]=>
! 94: string(5) "ab'cd"
! 95: }
! 96: }
! 97: Unquoted : string(4) "a\b
! 98: "
! 99: Quoted : string(6) "'a\b
! 100: '"
! 101: array(1) {
! 102: [0]=>
! 103: array(1) {
! 104: ["t"]=>
! 105: string(4) "a\b
! 106: "
! 107: }
! 108: }
! 109: Unquoted : string(1) "'"
! 110: Quoted : string(4) "''''"
! 111: array(1) {
! 112: [0]=>
! 113: array(1) {
! 114: ["t"]=>
! 115: string(1) "'"
! 116: }
! 117: }
! 118: Unquoted : string(2) "''"
! 119: Quoted : string(6) "''''''"
! 120: array(1) {
! 121: [0]=>
! 122: array(1) {
! 123: ["t"]=>
! 124: string(2) "''"
! 125: }
! 126: }
! 127: Unquoted : string(2) "a'"
! 128: Quoted : string(5) "'a'''"
! 129: array(1) {
! 130: [0]=>
! 131: array(1) {
! 132: ["t"]=>
! 133: string(2) "a'"
! 134: }
! 135: }
! 136: Unquoted : string(2) "'z"
! 137: Quoted : string(5) "'''z'"
! 138: array(1) {
! 139: [0]=>
! 140: array(1) {
! 141: ["t"]=>
! 142: string(2) "'z"
! 143: }
! 144: }
! 145: Unquoted : string(4) "a''b"
! 146: Quoted : string(8) "'a''''b'"
! 147: array(1) {
! 148: [0]=>
! 149: array(1) {
! 150: ["t"]=>
! 151: string(4) "a''b"
! 152: }
! 153: }
! 154: Unquoted : string(1) """
! 155: Quoted : string(3) "'"'"
! 156: array(1) {
! 157: [0]=>
! 158: array(1) {
! 159: ["t"]=>
! 160: string(1) """
! 161: }
! 162: }
! 163: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>