php-doc-en/reference/oci8/functions/oci-connect.xml
Jakub Vrana 647ee5c6a2 Nuke tabs
git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@165127 c90b9560-bf6c-de11-be94-00142212c4b1
2004-08-03 17:25:34 +00:00

172 lines
5 KiB
XML

<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.6 $ -->
<refentry id="function.oci-connect">
<refnamediv>
<refname>oci_connect</refname>
<refpurpose>Establishes a connection to Oracle server</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>resource</type><methodname>oci_connect</methodname>
<methodparam><type>string</type><parameter>username</parameter></methodparam>
<methodparam><type>string</type><parameter>password</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>db</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>charset</parameter></methodparam>
</methodsynopsis>
<para>
<function>oci_connect</function> 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 <filename>tnsnames.ora</filename> to which
you want to connect.
If the optional third parameter is not specified, PHP uses the
environment variables <constant>ORACLE_SID</constant> (Oracle
instance) or <constant>TWO_TASK</constant>
(<filename>tnsnames.ora</filename>) to determine which database
to connect to.
</para>
<note>
<simpara>
<function>oci_connect</function> <emphasis>does not</emphasis> reestablish
the connection, if a connection with such parameters was established
before. In this case, <function>oci_connect</function> 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 <function>oci_new_connect</function>.
</simpara>
</note>
&oci.charset;
<para>
<example>
<title><function>oci_connect</function> example</title>
<programlisting role="php">
<![CDATA[
<?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>";
?>
]]>
</programlisting>
</example>
</para>
<para>
<function>oci_connect</function> returns &false; if an error occured.
</para>
<note>
<para>
In PHP versions before 5.0.0 you must use <function>ocilogon</function> instead.
This name still can be used, it was left as alias of
<function>oci_connect</function> for downwards compatability.
This, however, is deprecated and not recommended.
</para>
</note> <simpara>
See also <function>oci_pconnect</function> and
<function>oci_new_connect</function>.
</simpara>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->