After discussing this in another forum thread, I believe there is an error in the oci driver (oci8_driver.php).
In short, it seems that once you run a query on a page, any additional queries that are attempted to run actully re-run the first query called. It seems that the variable $this->stmt_id is not cleared after query execution.
The simple fix that I found was to change the method _set_stmt_id() from the following:
function _set_($sql)
{
if ( ! is_resource($this->stmt_id))
{
$this->stmt_id = ociparse($this->conn_id, $this->_prep_query($sql));
}
}
To something much simpler:
function _set_($sql)
{
$this->stmt_id = ociparse($this->conn_id, $this->_prep_query($sql));
}
If 3 users have found this to be troubling behavior and the same 3 users have implemented similar fixes, the I would tend to think this is a bug.
