php 连接oracle数据库语句怎么写?

php 连接oracle数据库语句怎么写?,第1张

以系统为windowns为例,

1、先PHP.INI中的oracle扩展也开启了

PHP下php.ini(注意,有时是在windows目录)修改下下

其中的

extension=php_oci8.dll 去掉前面的“”号

extension=php_oracle.dll 去掉前面的“”号

把php_oci8.dll 、和php_oracle.dll 文件复制到windwos的system32下

2、系统中应当有安装ORCALE的系统,然后配制远程ORACLE的的监听。就是你能用你配好的ORACLE系统访问远程的数据库

{例:

在ORACLE安装目录下找到tnsnames.ora,然后按下面的例子配置一下

BASETEST 命名=

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = XX.XX.XX.XX服务器IP地址)(PORT = 1521端口))

)

(CONNECT_DATA = (SERVICE_NAME = masprod 实例ID))

)

}

3.在你的PHP网页目录下写个测试连接的程序试试

<?php

$dbconn=OCILogon("username","pwd","(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = [远程服务器IP])(PORT = 1515))

)

(CONNECT_DATA =

(SERVICE_NAME = [数据库名字])

))")

if($dbconn!=false)

{

echo "连接成功"

if(OCILogOff($dbconn)==true)

{

echo "关闭连接成功!"//=这里有问题

}

}

else

{

echo "连接失败"

}

?>

首先你要在php.ini文件中找到

extension=php_oci8.dll 前面的注释符号“”去掉,使php能够加载支持oracle的模块;

下面的代码是调试通过的,可直接使用的:

<html>

<body>

<?php

$dbconn=OCILogon("root","pass","(DESCRIPTION=(ADDRESS=(PROTOCOL =TCP)(HOST=远程IP)(PORT = 1521))(CONNECT_DATA =(SID=GZXNCW)))")

if($dbconn!=false)

{

echo "连接成功"

if(OCILogOff($dbconn)==true)

{

echo "关闭连接成功!"

}

}

else

{

echo "连接失败"

}

?>

</body>

</html>

<?php

$dbconn=oci_connect("你的账号","你的密码","你的数据库名称")//请把中文件设置为你的值;

$stmt=oci_parse($dbconn, "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")

?>

php配置oracle非常的简单需吧php.ini文件中的配置,去掉 extention = php_oci8.dll,去掉前面的分号,重启apache就可以了

oracle数据库建立链接,代码如下:

1:

$conn =

oci_connect('username','password',"(DEscriptION=(ADDRESS=(PROTOCOL

=TCP)(HOST=192.168.1.100)(PORT = 1521))(CONNECT_DATA =(SID=test)))")

2:

$conn = oci_connect('username','password','192.168.1.100/test')

3.Oracle 连接方法

set adocon=Server.Createobject("adodb.connection")

adocon.open"Driver={microsoft odbc for oracle}server=oraclesever.worlduid=adminpwd=pass"

完整的例子如下:

<?php

$conn = oci_connect('hr', 'hr', 'orcl')// 建立连接

if (!$conn) {

$e = oci_error()

print htmlentities($e['message'])

exit

}

$query = 'SELECT * FROM DEPARTMENTS'// 查询语句

$stid = oci_parse($conn, $query)// 配置SQL语句,准备执行

if (!$stid) {

$e = oci_error($conn)

print htmlentities($e['message'])

exit

}

$r = oci_execute($stid, OCI_DEFAULT)// 执行SQL。OCI_DEFAULT表示不要自动commit

if(!$r) {

$e = oci_error($stid)

echo htmlentities($e['message'])

exit

}

// 打印执行结果

print '<table border="1">'

while($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {

print '<tr>'

foreach($row as $item) {

print '<td>'.($item?htmlentities($item):' ').'</td>'

}

print '</tr>'

}

print '</table>'

oci_close($conn)

?>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11441505.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存