Annotation of embedaddon/php/ext/oci8/tests/define3.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test oci_define_by_name() LOB descriptor
3: --SKIPIF--
4: <?php
5: $target_dbs = array('oracledb' => true, 'timesten' => false); // test runs on these DBs
6: require(dirname(__FILE__).'/skipif.inc');
7: ?>
8: --FILE--
9: <?php
10:
11: require(dirname(__FILE__)."/connect.inc");
12:
13: $stmtarray = array(
14: "drop table phpdefblobtable",
15: "create table phpdefblobtable (id number(10), fileimage blob)"
16: );
17:
18: oci8_test_sql_execute($c, $stmtarray);
19:
20: // Load data
21: $stmt = oci_parse ($c, "insert into phpdefblobtable (id, fileimage) values (:id, empty_blob()) returning fileimage into :fileimage");
22: $fileimage = oci_new_descriptor($c,OCI_D_LOB);
23: oci_bind_by_name($stmt,":id",$id);
24: oci_bind_by_name($stmt,":fileimage",$fileimage,-1,OCI_B_BLOB);
25: $id = 1;
26: oci_execute($stmt, OCI_DEFAULT);
27: $fileimage->savefile(dirname(__FILE__)."/test.gif");
28: $data = $fileimage->load();
29: var_dump(md5($data)); // original md5
30: oci_commit($c);
31:
32: // New row with different data
33: $id = 2;
34: $data = strrev($data);
35: var_dump(md5($data));
36: oci_execute($stmt, OCI_DEFAULT);
37: $fileimage->save($data);
38: oci_commit($c);
39:
40: echo "Test 1\n";
41: $stmt = oci_parse($c, "SELECT fileimage FROM phpdefblobtable");
42: var_dump(oci_define_by_name($stmt, 'FILEIMAGE', $f));
43: oci_execute($stmt);
44:
45: while (oci_fetch($stmt)) {
46: var_dump($f);
47: echo "file md5:" . md5($f->load()) . "\n";
48: }
49:
50: echo "Test 2\n";
51: $stmt = oci_parse($c, "SELECT fileimage FROM phpdefblobtable");
52: var_dump(oci_define_by_name($stmt, 'FILEIMAGE', $outdata, SQLT_STR));
53: oci_execute($stmt);
54:
55: while (oci_fetch($stmt)) {
56: echo "file md5:" . md5($outdata) . "\n";
57: }
58:
59: echo "Test 3\n";
60: $stmt = oci_parse($c, "SELECT fileimage FROM phpdefblobtable");
61: var_dump(oci_define_by_name($stmt, 'FILEIMAGE', $outdata, SQLT_BIN));
62: oci_execute($stmt);
63:
64: while (oci_fetch($stmt)) {
65: echo "file md5:" . md5($outdata) . "\n";
66: }
67:
68: echo "Test 4\n";
69: $fid = oci_new_descriptor($c,OCI_D_LOB);
70: $stmt = oci_parse($c, "SELECT fileimage FROM phpdefblobtable");
71: var_dump(oci_define_by_name($stmt, 'FILEIMAGE', $fid));
72: oci_execute($stmt);
73:
74: while (oci_fetch($stmt)) {
75: echo "file md5:" . md5($fid->load()) . "\n";
76: }
77:
78: $stmtarray = array(
79: "drop table phpdefblobtable"
80: );
81:
82: oci8_test_sql_execute($c, $stmtarray);
83:
84: echo "Done\n";
85:
86: ?>
87: --EXPECTF--
88: string(32) "614fcbba1effb7caa27ef0ef25c27fcf"
89: string(32) "06d4f219d946c74d748d43932cd9dcb2"
90: Test 1
91: bool(true)
92: object(OCI-Lob)#%d (1) {
93: ["descriptor"]=>
94: resource(%d) of type (oci8 descriptor)
95: }
96: file md5:614fcbba1effb7caa27ef0ef25c27fcf
97: object(OCI-Lob)#%d (1) {
98: ["descriptor"]=>
99: resource(%d) of type (oci8 descriptor)
100: }
101: file md5:06d4f219d946c74d748d43932cd9dcb2
102: Test 2
103: bool(true)
104:
105: Warning: oci_fetch(): ORA-00932: %s on line %d
106: Test 3
107: bool(true)
108: file md5:614fcbba1effb7caa27ef0ef25c27fcf
109: file md5:06d4f219d946c74d748d43932cd9dcb2
110: Test 4
111: bool(true)
112: file md5:614fcbba1effb7caa27ef0ef25c27fcf
113: file md5:06d4f219d946c74d748d43932cd9dcb2
114: Done
115:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>