Oci8
Package information:, (*1)
![Build Status][ico-travis]
, (*2)
Code Information:, (*3)
[
][link-coverage]
![Scrutinizer Score][ico-scrutinizer]
, (*4)
, (*5)
Oci8 is a wrapper for the PHP Oracle OCI functions that allows interaction
with Oracle databases by using objects in place of the regular oci_*
functions., (*6)
Oci8 converts the warnings thrown by the oci_*
function into Oci8Exceptions
for better error handling., (*7)
Install
Via Composer, (*8)
``` bash
$ composer require jpina/oci8, (*9)
## Usage
Connect to a database, execute a query and fetch a row:
``` php
$db = new Jpina\Oci8Connection('username', 'password', '//localhost:1521/XE');
$statement = $db->parse('SELECT * FROM dual');
$statement->execute();
$row = $statement->fetchAssoc();
Handing errors, (*10)
try {
$db = new Jpina\Oci8Connection('username', 'password', '//localhost:1521/XE');
// Closing database to force an error on next statement
$db->close();
// This statement will throw an Oci8Exception since there is no active connection
$statement = $db->parse('SELECT * FROM dual');
} catch (Jpina\Oci8Exception $ex) {
// Handle the Exception
}
Change log
Please see CHANGELOG for more information what has changed recently., (*11)
Testing
In order to run the tests you will need access to an Oracle Database and copy the .env.example
to .env
, then you
can provide your own values within the .env
, these values will be used by the tests to connect to the database., (*12)
You can run the tests with composer once you have your .env
file configured properly., (*13)
bash
$ composer test
, (*14)
If you don't have access to an Oracle Database server, you can also run a docker container like
wnameless/oracle-xe-11g and then connect to it to run the tests
against a containerized Oracle Database., (*15)
Contributing
Please see CONTRIBUTING and CONDUCT for details., (*16)
Security
If you discover any security related issues, please email jabdhel@gmail.com instead of
using the issue tracker., (*17)
Credits
License
The MIT License (MIT). Please see License File for more information., (*18)