it-swarm.com.de

So verbinden Sie eine Oracle-Datenbank von PHP

Wie stelle ich von PHP aus eine Verbindung zu einer Oracle-Datenbank her?

11
Tharindu

Ein weiterführender Link in Google nach der Suche nach Ihren genauen Fragen führte zu folgendem Link: http://me2learn.wordpress.com/2008/10/18/connect-php-with-Oracle-database/

<?php
    $db = "(DESCRIPTION=(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(Host = 192.168.1.34)(PORT = 1521)))(CONNECT_DATA=(SID=orcl)))" ;

    if($c = OCILogon("system", "your database password", $db))
    {
        echo "Successfully connected to Oracle.\n";
        OCILogoff($c);
    }
    else
    {
        $err = OCIError();
        echo "Connection failed." . $err[text];
    }
?>
10
RobertPitt

Ich nahm an, dass Sie PHP mit Oracle-Datenbanken verbinden möchten. also, ich gebe euch zwei dateien, dies ist ein grundlegendes PHP-Oracle für deine referenz. Viel Glück!

form.php

<form name="form1" method="post" action="login.php">
  <label> User Name
  <input type="text" name="nis" id="nis">
  </label>
  <label> Password
  <input type="password" name="password" id="password">
  </label>
  <label>
  <input type="submit" name="submit" id="button" value="Login">
  </label>
</form>

login.php

<?php

//create table users (userid varchar2(10), password varchar2(20), constraint pk_users primary key (userid));
//insert into users values('kharis', 'pass123');

$nis = isset($_POST['nis']) == true ? $_POST['nis'] : '';
$password= isset($_POST['password']) == true ? $_POST['password'] : '';

if(empty($nis) or empty($password)){
    echo "UserID atau Password kosong";}
else
{
    $db = "(DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(Host = patronus.ad-ins.com)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = XE)
        )
      )" ;
    $connect = oci_connect("HR", "hr", "XE");
    $query = "SELECT * from users WHERE userid='".$nis."' and password='".$password."'";
    $result = oci_parse($connect, $query);
    oci_execute($result);
    $tmpcount = oci_fetch($result);
    if ($tmpcount==1) {
        echo "Login Success";}
    else
    {
        echo "Login Failed";
    }
}
?>
4
Kharis

PHP bietet Oracle OCI8-Funktionen . Andere Optionen sind PDO mit dem Oracle-Treiber und (falls Oracle dies unterstützt) ODBC

2
Oswald

Ich habe eine Verbindung auf einfachste Weise wie folgt hergestellt:

Schritt 1. Bestimmen Sie, welche PHP Bit-Version (32-Bit oder 64-Bit) Sie ausführen. Wenn PHP_INT_SIZE den Wert 4 hat, ist die Version 32-Bit. Wenn PHP_INT_SIZE den Wert 8 hat, ist die Version 64-Bit. Verwenden Sie den folgenden Code:

<?php
    switch(PHP_INT_SIZE) {
        case 4:
            echo '32-bit version of PHP';
            break;
        case 8:
            echo '64-bit version of PHP';
            break;
        default:
            echo 'PHP_INT_SIZE is ' . PHP_INT_SIZE;
    } 
?>

Schritt 2. Laden Sie das "InstantClient Package - Basic" für Windows von Der Seite [OTN InstantClient] [1] herunter. Stellen Sie sicher, dass Sie die entsprechende Bitversion aus Schritt 1 herunterladen.

Schritt 3. Entpacken Sie die InstantClient-Dateien, um C:\instantclient_11_2 und Zu bearbeiten. Bearbeiten Sie die Windows PATH-Umgebung so, dass sie C:\instantclient_11_2. Enthält. Gehen Sie beispielsweise unter Windows XP auf Start> Systemsteuerung> System>

Advanced > Environment Variables` and edit `PATH` in the `System`
> variables list.
Step 3. In your `php.ini` file, enable the following lines:
extension=php_oci8_11g.dll
extension=php_openssl.dll

Finally, restart your Apache server.

http://www.Oracle.com/technetwork/database/features/instant-client/index-097480.html
1
Pankaj katiyar

Es ist aus Ihrer Frage unklar, ob Sie die Installation von PHP für die Verbindung zu Oracle konfigurieren möchten oder ob Sie nur die PHP-Syntax für die Verbindung benötigen.

Da es hier bereits eine Windows-spezifische Antwort und das Verbindungssystem gibt, sollten diese Links in die richtige Richtung für eine Linux-basierte Installation der Oracle-Clientbibliotheken weisen.

Die grundlegenden Schritte sind ..

  • dekomprimieren Sie die Oracle-Clientbibliotheken (Basic-, SDK- und sqlplus-Pakete).
  • fügen Sie LD_LIBRARY_PATH zu Ihrer Umgebung hinzu
  • einige Symlinks für die Bibliotheken korrigieren
  • installieren Sie PECL OCI8. Dies kompiliert das Shared Object, sodass Ihr System einen C-Compiler benötigt
  • aktivieren Sie die Erweiterung in der Datei php.ini. Denken Sie daran, dass Ihr System über separate php.ini-Dateien für CLI und Webserver verfügt. Überprüfen Sie daher beide. 
  • starten Sie Ihren Webserver neu

Diese Schritte sind in mehreren Blog-Posts enthalten, sodass ich das Rad hier nicht neu erfinden werde. aber hier sind einige links, die ziemlich gut aussehen

0
nick fox