2 Bug #27303 (OCIBindByName binds numeric PHP values as characters)
5 if (!extension_loaded('oci8')) die ("skip no oci8 extension");
6 require(dirname(__FILE__)."/connect.inc");
7 // The bind buffer size edge cases seem to change each DB version.
8 if (preg_match('/Release 10\.2\.0\.3/', oci_server_version($c), $matches) !== 1) {
9 if (preg_match('/Release 11\.1\.0\.6/', oci_server_version($c), $matches) !== 1) {
10 if (preg_match('/Release 11\.2\.0\.3/', oci_server_version($c), $matches) !== 1) {
11 die("skip expected output only valid when using specific Oracle database versions");
19 require dirname(__FILE__).'/connect.inc';
22 $create_st[] = "drop sequence myseq";
23 $create_st[] = "drop table mytab";
24 $create_st[] = "create sequence myseq";
25 $create_st[] = "create table mytab (mydata varchar2(20), seqcol number)";
27 oci8_test_sql_execute($c, $create_st);
29 define('MYLIMIT', 200);
31 $stmt = "insert into mytab (mydata, seqcol) values ('Some data', myseq.nextval) returning seqcol into :mybv";
33 $stid = OCIParse($c, $stmt);
34 if (!$stid) { echo "Parse error"; die; }
36 $r = OCIBindByName($stid, ':MYBV', $mybv, 0 );
37 if (!$r) { echo "Bind error"; die; }
39 for ($i = 1; $i < MYLIMIT; $i++) {
40 $r = OCIExecute($stid, OCI_DEFAULT);
41 if (!$r) { echo "Execute error"; die; }
48 $drop_st[] = "drop sequence myseq";
49 $drop_st[] = "drop table mytab";
51 oci8_test_sql_execute($c, $drop_st);