Manual do PHP
Anterior |  | Próxima

# oci_connect

(PHP 5)

oci_connect -- Establishes a connection to Oracle server

## Description

resource oci_connect ( string username, string password [, string db [, string charset]])

oci_connect() returns a connection identifier needed for most other OCI calls. The optional third parameter can either contain the name of the local Oracle instance or the name of the entry in `tnsnames.ora` to which you want to connect. If the optional third parameter is not specified, PHP uses the environment variables `ORACLE_SID` (Oracle instance) or `TWO_TASK` (`tnsnames.ora`) to determine which database to connect to.

> Nota: oci_connect() does not reestablish the connection, if a connection with such parameters was established before. In this case, oci_connect() will return identifier of previously opened connection. This means, that you cannot use this function to separate transactions. To establish a distinctly new connection, use oci_new_connect().

Com o Oracle server 9.2 e seguintes, você pode indicar o parâmetro charset, que será utilizado na nova conexão. Se você estiver utilizando Oracle server < 9.2, este parâmetro será ignorado e a variável de ambiente NLS_LANG deverá ser utilizada.

Exemplo 1. oci_connect() example
`<?php echo "<pre>"; $db = ""; $c1 = oci_connect("scott", "tiger", $db); $c2 = oci_connect("scott", "tiger", $db); function create_table($conn) { $stmt = oci_parse($conn, "create table scott.hallo (test varchar2(64))"); oci_execute($stmt); echo $conn . " created table\n\n"; } function drop_table($conn) { $stmt = oci_parse($conn, "drop table scott.hallo"); oci_execute($stmt); echo $conn . " dropped table\n\n"; } function insert_data($conn) { $stmt = oci_parse($conn, "insert into scott.hallo values('$conn' || ' ' || to_char(sysdate,'DD-MON-YY HH24:MI:SS'))"); oci_execute($stmt, OCI_DEFAULT); echo $conn . " inserted hallo\n\n"; } function delete_data($conn) { $stmt = oci_parse($conn, "delete from scott.hallo"); oci_execute($stmt, OCI_DEFAULT); echo $conn . " deleted hallo\n\n"; } function commit($conn) { oci_commit($conn); echo $conn . " committed\n\n"; } function rollback($conn) { oci_rollback($conn); echo $conn . " rollback\n\n"; } function select_data($conn) { $stmt = oci_parse($conn, "select * from scott.hallo"); oci_execute($stmt, OCI_DEFAULT); echo $conn."----selecting\n\n"; while (oci_fetch($stmt)) { echo $conn . " [" . oci_result($stmt, "TEST") . "]\n\n"; } echo $conn . "----done\n\n"; } create_table($c1); insert_data($c1); // Insert a row using c1 insert_data($c2); // Insert a row using c2 select_data($c1); // Results of both inserts are returned select_data($c2); rollback($c1); // Rollback using c1 select_data($c1); // Both inserts have been rolled back select_data($c2); insert_data($c2); // Insert a row using c2 commit($c2); // Commit using c2 select_data($c1); // Result of c2 insert is returned delete_data($c1); // Delete all rows in table using c1 select_data($c1); // No rows returned select_data($c2); // No rows returned commit($c1); // Commit using c1 select_data($c1); // No rows returned select_data($c2); // No rows returned drop_table($c1); echo "</pre>"; ?>`

oci_connect() returns `FALSE` if an error occured.

> Nota: In PHP versions before 5.0.0 you must use ocilogon() instead. This name still can be used, it was left as alias of oci_connect() for downwards compatability. This, however, is deprecated and not recommended.

See also oci_pconnect() and oci_new_connect().

Anterior | Principal | Próxima
oci_commit | Acima | oci_define_by_name