参数化ADODB PHP Oracle查询超时,而非参数化工作正常

时间:2012-04-04 17:30:17

标签: php oracle parameters timeout adodb

我遇到了来自PHP的参数化ADODB Oracle查询的奇怪问题。

当我运行非参数化查询时,如下面的代码:

   $conn = &ADONewConnection('oci8');
   $conn->debug = true;
   $conn->PConnect(false, 'dbuser', 'dbpassword', 'TNS_NAME');
   $conn->Execute("SELECT * FROM members WHERE username = 'testusername'");
   $conn->Close();

以上运行正常。当我使用如下参数执行完全相同的查询时:

   $conn = &ADONewConnection('oci8');
   $conn->debug = true;
   $conn->PConnect(false, 'dbuser', 'dbpassword', 'TNS_NAME');
   $username = 'testusername';
   $conn->Execute("SELECT * FROM members WHERE username = :un", array('un' => $username));
   $conn->Close();

查询超时。

有趣的是,当我连接到不同的Oracle实例时,在不同的服务器上,参数化查询运行正常。

这里有什么问题?我是否在Oracle数据库的第一个实例上缺少一些允许参数化查询的配置?

谢谢。

0 个答案:

没有答案