Как подключить базу данных Oracle из PHP - PullRequest
11 голосов
/ 10 мая 2011

Как мне подключиться к базе данных Oracle из PHP?

Ответы [ 5 ]

12 голосов
/ 10 мая 2011

Четвертая ссылка в Google после поиска ваших точных вопросов вызвала следующую ссылку: 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];
    }
?>
3 голосов
/ 15 декабря 2012

Я предположил, что вы хотите соединить php с базами данных oracle. Итак, я даю вам два файла, это представляет собой базовый PHP-оракул для вашей справки. удачи!

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";
    }
}
?>
2 голосов
/ 10 мая 2011

PHP предоставляет функции Oracle OCI8 .Другими вариантами являются PDO с драйвером Oracle и (если Oracle поддерживает его) ODBC .

1 голос
/ 29 апреля 2016

Я создал соединение самым простым способом следующим образом:

Шаг 1. Определите, какая битовая версия PHP (32-битная или 64-битная) вы используете.Если PHP_INT_SIZE имеет значение 4, то версия является 32-битной.Если PHP_INT_SIZE имеет значение 8, тогда версия является 64-битной.Используйте следующий код ниже:

<?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;
    } 
?>

Шаг 2. Загрузите «InstantClient Package - Basic» для Windows со [OTN InstantClient page] [1].Убедитесь, что вы загрузили соответствующую битовую версию с шага 1.

Шаг 3. Разархивируйте файлы InstantClient на C:\instantclient_11_2 и отредактируйте среду PATH Windows, добавив C:\instantclient_11_2.Например, в Windows XP следуйте `Пуск> Панель управления> Система>

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
0 голосов
/ 17 марта 2016

Из вашего вопроса неясно, хотите ли вы настроить установку PHP для подключения к oracle или если вы просто хотите, чтобы синтаксис php устанавливал соединение?

Поскольку здесь уже есть специфический ответ для Windows и системный налог на соединение, эти ссылки должны указывать правильное направление для установки клиентских библиотек Oracle на основе Linux.

Основные шаги ..

  • распаковка клиентских библиотек Oracle (пакеты Basic, SDK и sqlplus)
  • добавить LD_LIBRARY_PATH в вашу среду
  • исправлены некоторые символические ссылки для библиотек
  • установить PECL OCI8, это скомпилирует общий объект, поэтому вашей системе потребуется компилятор C
  • включить расширение в файле php.ini. Помните, что ваша система может иметь отдельные файлы php.ini для CLI и веб-сервера, поэтому проверьте оба.
  • перезагрузите ваш веб-сервер

Эти шаги касаются нескольких постов в блоге, поэтому я не буду изобретать колесо здесь. но вот некоторые ссылки, которые выглядят довольно неплохо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...