123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385 |
- --TEST--
- Bug #51291 (oci_error() doesn't report last error when called two times)
- --EXTENSIONS--
- oci8
- --FILE--
- <?php
- require(__DIR__.'/connect.inc');
- echo "Test 1 - Parse\n";
- $s = @oci_parse($c, "select ' from dual");
- if (!$s) {
- var_dump(oci_error($c));
- echo "2nd call\n";
- var_dump(oci_error($c));
- }
- echo "\nTest 2 - Parse\n";
- $s = @oci_parse($c, "select ' from dual");
- if (!$s) {
- var_dump(oci_error(), oci_error($c));
- echo "2nd call\n";
- var_dump(oci_error(), oci_error($c));
- }
- echo "\nTest 3 - Execute\n";
- $s = @oci_parse($c, 'select doesnotexist from dual');
- $r = @oci_execute($s, OCI_DEFAULT);
- if (!$r) {
- var_dump(oci_error($s));
- echo "2nd call\n";
- var_dump(oci_error($s));
- }
- echo "\nTest 4 - Execute - consecutive oci_error calls of different kinds\n";
- $s = @oci_parse($c, 'select doesnotexist from dual');
- $r = @oci_execute($s, OCI_DEFAULT);
- if (!$r) {
- var_dump(oci_error(), oci_error($c), oci_error($s));
- echo "2nd call\n";
- var_dump(oci_error(), oci_error($c), oci_error($s));
- }
- echo "\nTest 5 - Execute - after oci_rollback\n";
- $s = @oci_parse($c, 'select doesnotexist from dual');
- $r = @oci_execute($s, OCI_DEFAULT);
- if (!$r) {
- var_dump(oci_error(), oci_error($c), oci_error($s));
- $r = oci_rollback($c);
- echo "Rollback status is ";
- if (is_null($r)) echo "null";
- else if ($r === false) echo "false";
- else if ($r === true) echo "true";
- else echo $r;
- echo "\n";
- echo "2nd call after oci_rollback\n";
- var_dump(oci_error(), oci_error($c), oci_error($s));
- }
- echo "\nTest 6 - Execute - after successful 2nd query with new handle\n";
- $s = @oci_parse($c, 'select doesnotexist from dual');
- $r = @oci_execute($s, OCI_DEFAULT);
- if (!$r) {
- var_dump(oci_error(), oci_error($c), oci_error($s));
- $s2 = oci_parse($c, 'select 1 from dual');
- $r = oci_execute($s2, OCI_DEFAULT);
- echo "Execute status is ";
- if (is_null($r)) echo "null";
- else if ($r === false) echo "false";
- else if ($r === true) echo "true";
- else echo $r;
- echo "\n";
- echo "2nd call after successful execute\n";
- var_dump(oci_error(), oci_error($c), oci_error($s), oci_error($s2));
- }
- echo "\nTest 7 - Execute - after successful 2nd query with same handle\n";
- $s = @oci_parse($c, 'select doesnotexist from dual');
- $r = @oci_execute($s, OCI_DEFAULT);
- if (!$r) {
- var_dump(oci_error(), oci_error($c), oci_error($s));
- $s = oci_parse($c, 'select 1 from dual');
- $r = oci_execute($s, OCI_DEFAULT);
- echo "Execute status is ";
- if (is_null($r)) echo "null";
- else if ($r === false) echo "false";
- else if ($r === true) echo "true";
- else echo $r;
- echo "\n";
- echo "2nd call after successful execute\n";
- var_dump(oci_error(), oci_error($c), oci_error($s));
- }
- echo "\nTest 8 - Execute - after unsuccessful 2nd query with new handle\n";
- $s = @oci_parse($c, 'select doesnotexist from dual');
- $r = @oci_execute($s, OCI_DEFAULT);
- if (!$r) {
- var_dump(oci_error(), oci_error($c), oci_error($s));
- $s2 = oci_parse($c, 'select reallynothere from dual');
- $r = oci_execute($s2, OCI_DEFAULT);
- echo "Execute status is ";
- if (is_null($r)) echo "null";
- else if ($r === false) echo "false";
- else if ($r === true) echo "true";
- else echo $r;
- echo "\n";
- echo "2nd call after unsuccessful execute\n";
- var_dump(oci_error(), oci_error($c), oci_error($s), oci_error($s2));
- }
- echo "\nTest 9 - Execute - after unsuccessful 2nd query with same handle\n";
- $s = @oci_parse($c, 'select doesnotexist from dual');
- $r = @oci_execute($s, OCI_DEFAULT);
- if (!$r) {
- var_dump(oci_error(), oci_error($c), oci_error($s));
- $s = oci_parse($c, 'select reallynothere from dual');
- $r = oci_execute($s, OCI_DEFAULT);
- echo "Execute status is ";
- if (is_null($r)) echo "null";
- else if ($r === false) echo "false";
- else if ($r === true) echo "true";
- else echo $r;
- echo "\n";
- echo "2nd call after unsuccessful execute\n";
- var_dump(oci_error(), oci_error($c), oci_error($s));
- }
- ?>
- --EXPECTF--
- Test 1 - Parse
- array(4) {
- ["code"]=>
- int(1756)
- ["message"]=>
- string(48) "ORA-01756: %s"
- ["offset"]=>
- int(0)
- ["sqltext"]=>
- string(0) ""
- }
- 2nd call
- array(4) {
- ["code"]=>
- int(1756)
- ["message"]=>
- string(48) "ORA-01756: %s"
- ["offset"]=>
- int(0)
- ["sqltext"]=>
- string(0) ""
- }
- Test 2 - Parse
- bool(false)
- array(4) {
- ["code"]=>
- int(1756)
- ["message"]=>
- string(48) "ORA-01756: %s"
- ["offset"]=>
- int(0)
- ["sqltext"]=>
- string(0) ""
- }
- 2nd call
- bool(false)
- array(4) {
- ["code"]=>
- int(1756)
- ["message"]=>
- string(48) "ORA-01756: %s"
- ["offset"]=>
- int(0)
- ["sqltext"]=>
- string(0) ""
- }
- Test 3 - Execute
- array(4) {
- ["code"]=>
- int(904)
- ["message"]=>
- string(%d) "ORA-00904:%sDOESNOTEXIST%s"
- ["offset"]=>
- int(%d)
- ["sqltext"]=>
- string(29) "select doesnotexist from dual"
- }
- 2nd call
- array(4) {
- ["code"]=>
- int(904)
- ["message"]=>
- string(%d) "ORA-00904:%sDOESNOTEXIST%s"
- ["offset"]=>
- int(%d)
- ["sqltext"]=>
- string(29) "select doesnotexist from dual"
- }
- Test 4 - Execute - consecutive oci_error calls of different kinds
- bool(false)
- bool(false)
- array(4) {
- ["code"]=>
- int(904)
- ["message"]=>
- string(%d) "ORA-00904:%sDOESNOTEXIST%s"
- ["offset"]=>
- int(%d)
- ["sqltext"]=>
- string(29) "select doesnotexist from dual"
- }
- 2nd call
- bool(false)
- bool(false)
- array(4) {
- ["code"]=>
- int(904)
- ["message"]=>
- string(%d) "ORA-00904:%sDOESNOTEXIST%s"
- ["offset"]=>
- int(%d)
- ["sqltext"]=>
- string(29) "select doesnotexist from dual"
- }
- Test 5 - Execute - after oci_rollback
- bool(false)
- bool(false)
- array(4) {
- ["code"]=>
- int(904)
- ["message"]=>
- string(%d) "ORA-00904:%sDOESNOTEXIST%s"
- ["offset"]=>
- int(%d)
- ["sqltext"]=>
- string(29) "select doesnotexist from dual"
- }
- Rollback status is true
- 2nd call after oci_rollback
- bool(false)
- bool(false)
- array(4) {
- ["code"]=>
- int(904)
- ["message"]=>
- string(%d) "ORA-00904:%sDOESNOTEXIST%s"
- ["offset"]=>
- int(%d)
- ["sqltext"]=>
- string(29) "select doesnotexist from dual"
- }
- Test 6 - Execute - after successful 2nd query with new handle
- bool(false)
- bool(false)
- array(4) {
- ["code"]=>
- int(904)
- ["message"]=>
- string(%d) "ORA-00904:%sDOESNOTEXIST%s"
- ["offset"]=>
- int(%d)
- ["sqltext"]=>
- string(29) "select doesnotexist from dual"
- }
- Execute status is true
- 2nd call after successful execute
- bool(false)
- bool(false)
- array(4) {
- ["code"]=>
- int(904)
- ["message"]=>
- string(%d) "ORA-00904:%sDOESNOTEXIST%s"
- ["offset"]=>
- int(%d)
- ["sqltext"]=>
- string(29) "select doesnotexist from dual"
- }
- bool(false)
- Test 7 - Execute - after successful 2nd query with same handle
- bool(false)
- bool(false)
- array(4) {
- ["code"]=>
- int(904)
- ["message"]=>
- string(%d) "ORA-00904:%sDOESNOTEXIST%s"
- ["offset"]=>
- int(%d)
- ["sqltext"]=>
- string(29) "select doesnotexist from dual"
- }
- Execute status is true
- 2nd call after successful execute
- bool(false)
- bool(false)
- bool(false)
- Test 8 - Execute - after unsuccessful 2nd query with new handle
- bool(false)
- bool(false)
- array(4) {
- ["code"]=>
- int(904)
- ["message"]=>
- string(%d) "ORA-00904:%sDOESNOTEXIST%s"
- ["offset"]=>
- int(%d)
- ["sqltext"]=>
- string(29) "select doesnotexist from dual"
- }
- Warning: oci_execute(): ORA-00904: %sREALLYNOTHERE%s in %sbug51291_1.php on line %d
- Execute status is false
- 2nd call after unsuccessful execute
- bool(false)
- bool(false)
- array(4) {
- ["code"]=>
- int(904)
- ["message"]=>
- string(%d) "ORA-00904:%sDOESNOTEXIST%s"
- ["offset"]=>
- int(%d)
- ["sqltext"]=>
- string(29) "select doesnotexist from dual"
- }
- array(4) {
- ["code"]=>
- int(904)
- ["message"]=>
- string(%d) "ORA-00904%sREALLYNOTHERE%s"
- ["offset"]=>
- int(%d)
- ["sqltext"]=>
- string(30) "select reallynothere from dual"
- }
- Test 9 - Execute - after unsuccessful 2nd query with same handle
- bool(false)
- bool(false)
- array(4) {
- ["code"]=>
- int(904)
- ["message"]=>
- string(%d) "ORA-00904:%sDOESNOTEXIST%s"
- ["offset"]=>
- int(%d)
- ["sqltext"]=>
- string(29) "select doesnotexist from dual"
- }
- Warning: oci_execute(): ORA-00904: %sREALLYNOTHERE%s in %sbug51291_1.php on line %d
- Execute status is false
- 2nd call after unsuccessful execute
- bool(false)
- bool(false)
- array(4) {
- ["code"]=>
- int(904)
- ["message"]=>
- string(%d) "ORA-00904%sREALLYNOTHERE%s"
- ["offset"]=>
- int(%d)
- ["sqltext"]=>
- string(30) "select reallynothere from dual"
- }
|