1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 00:02:20 +01:00
Files
archived-php-src/ext/oci8/tests/bug36403.phpt
Michael Orlitzky 605c60cd5f Skip oci8 tests when no database is available (#11820)
Most oci8 tests fail out-of-the-box because a typical host won't have
an Oracle database instance available. Other database drivers like
mysqli and pgsql address this problem with an include file, inserted
into SKIPIF, that skips the test if no connection at all can be made.

This commits adds such a file (skipifconnectfailure.inc) for oci8, and
adds the corresponding SKIPIF to any tests that connect to a database.

Closes GH-11804

* ext/oci8/tests/lob_aliases.phpt: drop unnecessary SKIPIF.
2023-07-31 15:19:31 +01:00

57 lines
1.0 KiB
PHP

--TEST--
Bug #36403 (oci_execute no longer supports OCI_DESCRIBE_ONLY)
--EXTENSIONS--
oci8
--SKIPIF--
<?php
require_once('skipifconnectfailure.inc');
?>
--FILE--
<?php
require(__DIR__.'/connect.inc');
// Initialization
$stmtarray = array(
"drop table bug36403_tab",
"create table bug36403_tab (c1 number, col2 number, column3 number, col4 number)"
);
oci8_test_sql_execute($c, $stmtarray);
// Run Test
echo "Test 1\n";
$s = oci_parse($c, "select * from bug36403_tab");
oci_execute($s, OCI_DESCRIBE_ONLY);
for ($i = oci_num_fields($s); $i > 0; $i--) {
echo oci_field_name($s, $i) . "\n";
}
echo "Test 2\n";
// Should generate an error: ORA-24338: statement handle not executed
// since the statement handle was only described and not executed
$row = oci_fetch_array($s);
// Clean up
$stmtarray = array(
"drop table bug36403_tab"
);
oci8_test_sql_execute($c, $stmtarray);
?>
--EXPECTF--
Test 1
COL4
COLUMN3
COL2
C1
Test 2
Warning: oci_fetch_array(): ORA-%r(24338|01002)%r: %sbug36403.php on line %d