2013-11-28 173 views
2

继承人我的代码PDO PHP Oracle连接

$database = ' 
    (DESCRIPTION = 
     (ADDRESS_LIST = 
     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.8.28)(PORT = 1521)) 
    ) 
    (CONNECT_DATA = 
     (SERVICE_NAME = orcl) 
    ) 
    )'; 


    $db = new PDO('oci:dbname='.$database, 'middleuser', '1'); 


    $sth = $db->prepare('SELECT * from BD_CENTERDEPT'); 
    $sth->execute(); 

    while($row = $sth->fetch(PDO::FETCH_OBJ)) { 

     echo $row->NAME."\n"; 

    } 

显示任何错误,但是为什么呢?我正在使用Oracle即时客户端。 我已经创造了环境变量的路径 “C:\ XAMPP \ instantclient_12_1” 在我的php.ini IAM

,并已经取消注释 “延长= php_pdo_oci.dll” 相当肯定

BD_CENTERDEPT有NAME列和关于它的数据。

没有错误,但没有显示数据?我怎么知道我是否真的连接到oracle数据库?

+0

设置'使用error_reporting(E_ALL);'在最开始你的脚本。 – TiMESPLiNTER

+0

您可能需要做的事情不仅仅是编程。 Pinging 192.168.8.28怎么样?还可以通过使用Oracle的查询工具检查端口是否真的可以访问。如果是的话,PDO类的实例化怎么样?可能有问题... – daison12006013

回答

-1

耶我在查询忘记数据库名称:)必须

$db->prepare('SELECT * from dbname.BD_CENTERDEPT')