diff options
| author | Damien Regad <dregad@mantisbt.org> | 2022-07-23 11:59:24 +0200 |
|---|---|---|
| committer | Damien Regad <dregad@mantisbt.org> | 2022-08-26 16:13:34 +0200 |
| commit | 940dcec049491189102d18f4bc34238e0838a73c (patch) | |
| tree | ca1ee958aca5ec4d5e426208ca4594d5dfac6f49 /adodb.inc.php | |
| parent | 3aa30417b062b6c1815402822d35919670ce353b (diff) | |
| download | adodb-940dcec049491189102d18f4bc34238e0838a73c.tar.gz adodb-940dcec049491189102d18f4bc34238e0838a73c.tar.bz2 adodb-940dcec049491189102d18f4bc34238e0838a73c.zip | |
New class constant ADORecordSet::DUMMY_QUERY_ID
Replace hardcoded '-1' value when creating dummy RecordSets.
Issue #848
Diffstat (limited to 'adodb.inc.php')
| -rw-r--r-- | adodb.inc.php | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/adodb.inc.php b/adodb.inc.php index e2a29e72..e315a080 100644 --- a/adodb.inc.php +++ b/adodb.inc.php @@ -3875,6 +3875,10 @@ http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10759/statements_1 * means recordcount not known). */ class ADORecordSet implements IteratorAggregate { + /** + * Used for cases when a recordset object is not created by executing a query. + */ + const DUMMY_QUERY_ID = -1; /** * public variables @@ -3902,8 +3906,12 @@ class ADORecordSet implements IteratorAggregate { */ var $_numOfRows = -1; /** number of rows, or -1 */ var $_numOfFields = -1; /** number of fields in recordset */ - /** @var resource result link identifier */ - var $_queryID = -1; + + /** + * @var resource|int|false result link identifier + */ + var $_queryID = self::DUMMY_QUERY_ID; + var $_currentRow = -1; /** This variable keeps the current row in the Recordset. */ var $_closed = false; /** has recordset been closed */ var $_inited = false; /** Init() should only be called once */ @@ -3938,7 +3946,9 @@ class ADORecordSet implements IteratorAggregate { } function __destruct() { - $this->Close(); + if($this->_queryID != -1) { + $this->Close(); + } } #[\ReturnTypeWillChange] |
