【发布时间】:2013-12-14 07:06:50
【问题描述】:
这是我的代码
$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 中取消注释“extension=php_pdo_oci.dll” 我很确定
BD_CENTERDEPT 上有 NAME 列和数据。
没有错误但没有显示数据?我怎么知道我是否真的连接到了oracle数据库?
【问题讨论】:
-
在脚本开头设置
error_reporting(E_ALL);。 -
您可能需要做一些事情,而不仅仅是编程。 ping 192.168.8.28 怎么样?还可以使用 oracle 的查询工具检查端口是否真的可以访问。如果是这样,那么 PDO 类的实例化怎么样?可能有问题...