首页 > 编程知识 正文

php连接oracle问题(数据库和php的连接)

时间:2023-12-24 12:05:22 阅读:320129 作者:DNPF

本文目录一览:

PHP怎么连oracle

在PHP的开发过程中,会需要连接数据库。一般情况下我们用的是mysql数据库,相信这个大家都很熟了,使用mysql_*函数就能操作mysql数据库了。但是我们时候后也会用到Oraclel数据库,毕竟Oracle比较安全。PHP提供了两套函数与Oracle连接,分别是ORA_和OCI函数。其中ORA_函数略显陈旧。OCI函数更新据说更好一些。两者的使用语法几乎相差无几。你的PHP安装选项应该可以支持两者的使用。

代码:

thinkPHP5连接oracle一直报错

解决方法如下:

1.先检查服务器端的监听服务是否打开,如果没有打开请启动其监听

客户端:tnsping tns_name

服务器Linux下:

#lsnrctl status 查看监听状态

#lsnrctl start 启动监听

2.通过Sql Plus连接一下试试,如果Sql Plus连接能成功,那就说明你的tnsnames.ora内容有错误 我的问题就在别名dev_db前面有一个空格,这个可以通过文本编辑器(Edit Plus,UE等)来查看是否有空格,只要有空格那就肯定是不行的,而且如果那段内容是出现在文件的中间的话,将导致该文件里所有相应的连接别名都不成功,如果是在最后面就只有其自身连接别名不能成功,其他连接别名还是能连接成功。(注:我的tnsnames.ora配置了多个数据库实例的连接,所有才有多个连接别名。)

dev_db =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 172.168.10.5)(PORT = 1521)))

(CONNECT_DATA =

(SID = ora10)

)

)

3.如果确保你的tnsnames.ora内容没有错误,那请将%ORACLE_HOME%product10.2.0db_1NETWORKADMIN目录下的所有文件删了,然后重新连接,一般就能解决了。 说明一下:那个目录里的文件是在你建立连接的时候动态生成的,不要怕删了会有问题

4.进入PLSQL Developer的主界面,在登录界面选择取消即不登录进入主界面,然后选择菜单Tools(工具)-Preferences(首选项),在设置窗口中,选择Oracle-Connection(连接),对应设置窗口中,找到Oracle Home(Oracle主目录),选择你本地所安装客户端的版本,保存设置,然后重新启动PLSQL Developer,这时就可以正常登录了。

PHP如何连接oracle数据库

首先你要在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."----selectingnn";

while (oci_fetch($stmt))

{

echo ($conn."[".oci_result($stmt, "TEST")."]nn");

}

echo ($conn . "----donenn");

?

PHP如何连接oracle

首先你要在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."----selectingnn";

while (oci_fetch($stmt))

{

echo ($conn."[".oci_result($stmt, "TEST")."]nn");

}

echo ($conn . "----donenn");

?

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。