Как подключить базу данных Oracle от PHP

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

Четвертая ссылка в 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]; } ?> 

Я предположил, что вы хотите связать 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"; } } ?> 

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

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

Шаг 1. Загрузите «InstantClient Package – Basic» для Windows со страницы [OTN InstantClient] [1]. Поскольку PHP 32 бит, используйте 32-битную версию InstantClient.

Шаг 2. Разархивируйте файлы InstantClient в C:\instantclient_11_2 и отредактируйте среду Windows PATH, чтобы включить 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 

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

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

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

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

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