2 oci_bind_array_by_name() and invalid values 7
4 <?php if (!extension_loaded('oci8')) die("skip no oci8 extension"); ?>
8 require dirname(__FILE__).'/connect.inc';
10 $drop = "DROP table bind_test";
11 $statement = oci_parse($c, $drop);
12 @oci_execute($statement);
14 $create = "CREATE table bind_test(name NUMBER)";
15 $statement = oci_parse($c, $create);
16 oci_execute($statement);
19 CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS
20 TYPE ARRTYPE IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
21 PROCEDURE iobind(c1 IN OUT ARRTYPE);
23 $statement = oci_parse($c, $create_pkg);
24 oci_execute($statement);
27 CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS
28 CURSOR CUR IS SELECT name FROM bind_test;
29 PROCEDURE iobind(c1 IN OUT ARRTYPE) IS
32 INSERT INTO bind_test VALUES (c1(i));
34 IF NOT CUR%ISOPEN THEN
37 FOR i IN REVERSE 1..5 LOOP
46 $statement = oci_parse($c, $create_pkg_body);
47 oci_execute($statement);
49 $statement = oci_parse($c, "BEGIN ARRAYBINDPKG1.iobind(:c1); END;");
51 $array = Array(1,2,3,4,5);
53 oci_bind_array_by_name($statement, ":c1", $array, 5, 5, -1);
55 oci_execute($statement);
62 Warning: oci_bind_array_by_name(): Unknown or unsupported datatype given: -1 in %s on line %d
64 Warning: oci_execute(): ORA-%r(01008|57000)%r: %s in %s on line %d