Issues

ZF-11816: Use bindParam instead of oci_bind_by_name in Zend_Db_Statement::execute

Description

Hello,

I write an underclass of Zend_Db_Statement_Oracle to get wrong or slow queries (because the profile only report good queries). It works almost fine except for fetch() method that I can not get binded params.

The issue is on Zend_Db_Statement_Oracle::_execute() that directly calls oci_bind_by_name() (@line 243) instead of bindParam() (and not _bindParam(), because I wouldn't get Zend_Db_Statement::$_bindParam attribute populated.

Here is the proposed patch on Zend/Db/Statement/Oracle.php:


243c243
<                 if (!@oci_bind_by_name($this->_stmt, $name, $params[$name], -1)) {
---
>                 if (!$this->bindParam($name, $params[$name], null, -1)) {

Thx for your help and support, Wilfried

Comments

Still no activity on this issue ? While this is a very minor code improvement, it would really help me on my Oracle tracing...

Thanks a lot for your help & support, Wilfried

Waiting to hear from component lead on whether or not there is a specific known reason why the oci method was used directly

Great news, I wondered if my issue would get any support :)

Attached patch with OP's suggested fix. No unit test.

Fixed in trunk (1.12.0): r24863

Thank you Adam for your help & support