Oracle : Oracle Database Connection Strings in PHP

It’s easy to get confused as to how to specificy your Oracle database connection string, and there’s a handy new feature in Oracle 10g that makes this a whole lot easier. So here’s a little rundown of the three ways to connect to Oracle databases. You can use the:
  • tnsnames.ora file
  • Full connection string
  • Easy connect string
These examples show how to specificy an Oracle connection string using the new OCI8 functions in PHP.

tnsnames.ora File

The tnsnames.ora file is a client side
file that maps an alias used by client programs to a database service. It is used to connect to a non-default database. Here you have to have an entry in the tnsnames.ora file, and
reference the alias to that entry in your connection code.
PHP code:
oci_connect($un, $pw, ‘MYDB’);
tnsnames.ora entry
(HOST = mymachine.mydomain)(PORT = 1521))

Full Connection String

The full connection string does not require the use of a tnsnames.ora file.
You need to enter the full connection string when you connect to the database in your code.
PHP code:
oci_connect($un, $pw,

Easy Connect String

This is one Oracle 10g feature that I use daily. As I constantly connect to so many different databases in my day, this has saved me so much time as I don’t have to configure anything, just know the machine name and the database alias and I’m off.
The easy connect string does not require the use of a tnsnames.ora file, and is an abbreviated version of the full connection string. you must have the Oracle 10g client-side libraries to use the easy connect string.
PHP code:
oci_connect($un, $pw, ‘//mymachine.mydomain:port/MYDB’);



Tags: , , , ,

One Response to “Oracle : Oracle Database Connection Strings in PHP”

  1. hello this is tested script of (select data)oracle10g connect php

    $conn = oci_connect('system','HW#F45RA','localhost:1521/XE');
    //system is username
    //HW#F45RA is password
    if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);

    // Prepare the statement
    $stid = oci_parse($conn, 'SELECT * FROM student');
    if (!$stid) {
    $e = oci_error($conn);
    //trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);

    // Perform the logic of the query
    $r = oci_execute($stid);
    if (!$r) {
    $e = oci_error($stid);
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);

    // Fetch the results of the query
    print "n”;
    while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    print “n”;
    foreach ($row as $item) {
    print ” ” . ($item !== null ? htmlentities($item, ENT_QUOTES) : ” “) . “n”;
    print “n”;
    print “n”;



Leave a Reply