如何从PHP连接到Oracle数据库?
答案 0 :(得分:11)
在搜索到您确切的问题后,谷歌中的Forth链接会显示以下链接: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];
}
?>
答案 1 :(得分:3)
我以为你想用php连接oracle数据库。所以,我给你两个文件,这是一个基本的php-oracle供你参考。祝你好运!
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 :(得分:2)
PHP提供Oracle OCI8 functions。其他选项是带有Oracle Driver的PDO和(如果oracle支持它)ODBC。
答案 3 :(得分:1)
我以最简单的方式创建了一个连接,如下所示:
步骤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.从中下载Windows的“InstantClient Package - Basic” [OTN InstantClient页面] [1]。确保从步骤1下载相应的位版本。
步骤3.将InstantClient文件解压缩到
C:\instantclient_11_2
和 编辑Windows PATH环境以包含C:\instantclient_11_2
。 例如,在Windows XP上,请按照“开始”&gt;控制面板&gt;系统&gt;
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
答案 4 :(得分:0)
从您的问题中不清楚您是否要配置PHP安装以连接到oracle,或者您是否只想使用php语法建立连接?
由于这里已经有一个Windows特定的答案和连接systax,这些链接应指向正确的方向,以便安装基于Linux的Oracle客户端库。
基本步骤是..
这些步骤在多篇博客文章中,所以我不会在这里重新发明轮子。但这里有一些看起来很不错的链接