oci_connect()不会将对象属性用作参数

时间:2013-03-21 17:43:45

标签: php database oracle

参数(私有字符串):

    $this->username = 'app';
    $this->password = 'passwd';
    $this->service = '//local/DEV';

不起作用:

    $conn = oci_connect($this->username,$this->password,$this->service);

工作:

    $conn = oci_connect('app','passwd','//local/DEV');

为什么oci_connect不像对象属性那样作为参数?使用对象属性时出现无效的登录错误,但在使用字符串时成功。所有这些代码都在对象的__construct()中。

2 个答案:

答案 0 :(得分:1)

对象中有//localhost/DEV但字符串中有//local/DEV,因此它们不是同一个服务。

答案 1 :(得分:0)

您是否尝试过使用PDO进行连接?我知道他们已经弃用了oracle上不确定的mysql_扩展名。

http://www.php.net/manual/en/ref.pdo-oci.connection.php

与您的信息摘录:

$dbc = new PDO('oci:dbname=local/DEV;charset=CL8MSWIN1251', 'app', 'passwd');