[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1104611: marked as done (unblock: libphp-adodb/5.22.9-0.1)



Your message dated Sat, 03 May 2025 15:13:37 +0000
with message-id <E1uBEYb-006KAF-11@respighi.debian.org>
and subject line unblock libphp-adodb
has caused the Debian Bug report #1104611,
regarding unblock: libphp-adodb/5.22.9-0.1
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1104611: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1104611
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Control: affects -1 + src:libphp-adodb
User: release.debian.org@packages.debian.org
Usertags: unblock
X-Debbugs-Cc: libphp-adodb@packages.debian.org, jmv_deb@nirgal.com,
nirgal@debian.org, camrdale@gmail.com, leandrocunha016@gmail.com

Please unblock package libphp-adodb

Version 5.22.9-0.1 fixes the CVE with critical severity 10/10, defined
as CVE-2025-46337. Reported in bug #1104548 (severity: grave (RC
bug)).

[ Reason ]
ADOdb is a PHP database class library that provides abstractions for
performing queries and managing databases. Prior to version 5.22.9,
improper escaping of a query parameter may allow an attacker to
execute arbitrary SQL statements when the code using ADOdb connects to
a PostgreSQL database and calls pg_insert_id() with user-supplied
data. This issue has been patched in version 5.22.9. This as mentioned
in the bug above.

[ Impact ]
No negative impact, but positive in view of the improvement presented
in the code that resolves a serious vulnerability.

[ Tests ]
Everything from Salsa CI running on my fork. In addition to
reproducing the library in question using a package that is a
dependency, such as phppgadmin.
It is needed in data manipulation as can be seen in
https://github.com/phppgadmin/phppgadmin/issues/162.

[ Risks ]
No imminent risk was detected during the analyses.

[ Checklist ]
  [X] all changes are documented in the d/changelog
  [X] I reviewed all changes and I approve them
  [X] attach debdiff against the package in testing

[ Other info ]
All information already presented.

unblock libphp-adodb/5.22.9-0.1
diffstat for libphp-adodb-5.22.8 libphp-adodb-5.22.9

 adodb-active-record.inc.php           |    1 +
 adodb-active-recordx.inc.php          |    1 +
 adodb-datadict.inc.php                |   20 +++++++++++++++++---
 adodb.inc.php                         |    2 +-
 datadict/datadict-access.inc.php      |    2 +-
 datadict/datadict-db2.inc.php         |    2 +-
 datadict/datadict-firebird.inc.php    |    2 +-
 datadict/datadict-informix.inc.php    |    2 +-
 datadict/datadict-mssql.inc.php       |    2 +-
 datadict/datadict-mssqlnative.inc.php |    2 +-
 datadict/datadict-mysql.inc.php       |    2 +-
 datadict/datadict-oci8.inc.php        |    2 +-
 datadict/datadict-postgres.inc.php    |    2 +-
 datadict/datadict-sapdb.inc.php       |    2 +-
 datadict/datadict-sqlite.inc.php      |    9 ++++++---
 datadict/datadict-sybase.inc.php      |    2 +-
 debian/changelog                      |    7 +++++++
 docs/changelog.md                     |   18 ++++++++++++++++++
 drivers/adodb-postgres64.inc.php      |   16 +++++++++++++---
 drivers/adodb-sqlite3.inc.php         |   20 +++++++++++++-------
 20 files changed, 88 insertions(+), 28 deletions(-)

diff -Nru libphp-adodb-5.22.8/adodb-active-record.inc.php libphp-adodb-5.22.9/adodb-active-record.inc.php
--- libphp-adodb-5.22.8/adodb-active-record.inc.php	2025-01-24 22:10:09.000000000 -0300
+++ libphp-adodb-5.22.9/adodb-active-record.inc.php	2025-05-01 08:49:24.000000000 -0300
@@ -74,6 +74,7 @@
 }
 
 
+#[\AllowDynamicProperties]
 class ADODB_Active_Record {
 	static $_changeNames = true; // dynamically pluralize table names
 
diff -Nru libphp-adodb-5.22.8/adodb-active-recordx.inc.php libphp-adodb-5.22.9/adodb-active-recordx.inc.php
--- libphp-adodb-5.22.8/adodb-active-recordx.inc.php	2025-01-24 22:10:09.000000000 -0300
+++ libphp-adodb-5.22.9/adodb-active-recordx.inc.php	2025-05-01 08:49:24.000000000 -0300
@@ -82,6 +82,7 @@
 }
 
 
+#[\AllowDynamicProperties]
 class ADODB_Active_Record {
 	static $_changeNames = true; // dynamically pluralize table names
 	static $_foreignSuffix = '_id'; //
diff -Nru libphp-adodb-5.22.8/adodb-datadict.inc.php libphp-adodb-5.22.9/adodb-datadict.inc.php
--- libphp-adodb-5.22.8/adodb-datadict.inc.php	2025-01-24 22:10:09.000000000 -0300
+++ libphp-adodb-5.22.9/adodb-datadict.inc.php	2025-05-01 08:49:24.000000000 -0300
@@ -845,7 +845,7 @@
 						$fdefault = $this->connection->qstr($fdefault);
 				}
 			}
-			$suffix = $this->_createSuffix($fname,$ftype,$fnotnull,$fdefault,$fautoinc,$fconstraint,$funsigned);
+			$suffix = $this->_createSuffix($fname, $ftype, $fnotnull, $fdefault, $fautoinc, $fconstraint, $funsigned, $fprimary, $pkey);
 
 			// add index creation
 			if ($widespacing) $fname = str_pad($fname,24);
@@ -898,8 +898,22 @@
 	}
 
 
-	// return string must begin with space
-	function _createSuffix($fname,&$ftype,$fnotnull,$fdefault,$fautoinc,$fconstraint,$funsigned)
+	/**
+	 * Construct an database specific SQL string of constraints for column.
+	 *
+	 * @param string $fname         column name
+	 * @param string & $ftype       column type
+	 * @param bool   $fnotnull      NOT NULL flag
+	 * @param string|bool $fdefault DEFAULT value
+	 * @param bool   $fautoinc      AUTOINCREMENT flag
+	 * @param string $fconstraint   CONSTRAINT value
+	 * @param bool   $funsigned     UNSIGNED flag
+	 * @param string|bool $fprimary PRIMARY value
+	 * @param array  & $pkey        array of primary key column names
+	 *
+	 * @return string Combined constraint string, must start with a space
+	 */
+	function _createSuffix($fname, &$ftype, $fnotnull, $fdefault, $fautoinc, $fconstraint, $funsigned, $fprimary, &$pkey)
 	{
 		$suffix = '';
 		if (strlen($fdefault)) $suffix .= " DEFAULT $fdefault";
diff -Nru libphp-adodb-5.22.8/adodb.inc.php libphp-adodb-5.22.9/adodb.inc.php
--- libphp-adodb-5.22.8/adodb.inc.php	2025-01-24 22:10:09.000000000 -0300
+++ libphp-adodb-5.22.9/adodb.inc.php	2025-05-01 08:49:24.000000000 -0300
@@ -198,7 +198,7 @@
 		/**
 		 * ADODB version as a string.
 		 */
-		$ADODB_vers = 'v5.22.8  2025-01-25';
+		$ADODB_vers = 'v5.22.9  2025-05-01';
 
 		/**
 		 * Determines whether recordset->RecordCount() is used.
diff -Nru libphp-adodb-5.22.8/datadict/datadict-access.inc.php libphp-adodb-5.22.9/datadict/datadict-access.inc.php
--- libphp-adodb-5.22.8/datadict/datadict-access.inc.php	2025-01-24 22:10:09.000000000 -0300
+++ libphp-adodb-5.22.9/datadict/datadict-access.inc.php	2025-05-01 08:49:24.000000000 -0300
@@ -69,7 +69,7 @@
 	}
 
 	// return string must begin with space
-	function _CreateSuffix($fname, &$ftype, $fnotnull,$fdefault,$fautoinc,$fconstraint,$funsigned)
+	function _createSuffix($fname, &$ftype, $fnotnull, $fdefault, $fautoinc, $fconstraint, $funsigned, $fprimary, &$pkey)
 	{
 		if ($fautoinc) {
 			$ftype = 'COUNTER';
diff -Nru libphp-adodb-5.22.8/datadict/datadict-db2.inc.php libphp-adodb-5.22.9/datadict/datadict-db2.inc.php
--- libphp-adodb-5.22.8/datadict/datadict-db2.inc.php	2025-01-24 22:10:09.000000000 -0300
+++ libphp-adodb-5.22.9/datadict/datadict-db2.inc.php	2025-05-01 08:49:24.000000000 -0300
@@ -72,7 +72,7 @@
 	}
 
 	// return string must begin with space
-	function _CreateSuffix($fname,&$ftype,$fnotnull,$fdefault,$fautoinc,$fconstraint,$funsigned)
+	function _createSuffix($fname, &$ftype, $fnotnull, $fdefault, $fautoinc, $fconstraint, $funsigned, $fprimary, &$pkey)
 	{
 		$suffix = '';
 		if ($fautoinc) return ' GENERATED ALWAYS AS IDENTITY'; # as identity start with
diff -Nru libphp-adodb-5.22.8/datadict/datadict-firebird.inc.php libphp-adodb-5.22.9/datadict/datadict-firebird.inc.php
--- libphp-adodb-5.22.8/datadict/datadict-firebird.inc.php	2025-01-24 22:10:09.000000000 -0300
+++ libphp-adodb-5.22.9/datadict/datadict-firebird.inc.php	2025-05-01 08:49:24.000000000 -0300
@@ -135,7 +135,7 @@
 	}
 
 
-	function _createSuffix($fname, &$ftype, $fnotnull, $fdefault, $fautoinc, $fconstraint, $funsigned)
+	function _createSuffix($fname, &$ftype, $fnotnull, $fdefault, $fautoinc, $fconstraint, $funsigned, $fprimary, &$pkey)
 	{
 		$suffix = '';
 
diff -Nru libphp-adodb-5.22.8/datadict/datadict-informix.inc.php libphp-adodb-5.22.9/datadict/datadict-informix.inc.php
--- libphp-adodb-5.22.8/datadict/datadict-informix.inc.php	2025-01-24 22:10:09.000000000 -0300
+++ libphp-adodb-5.22.9/datadict/datadict-informix.inc.php	2025-05-01 08:49:24.000000000 -0300
@@ -81,7 +81,7 @@
 	}
 
 	// return string must begin with space
-	function _CreateSuffix($fname, &$ftype, $fnotnull,$fdefault,$fautoinc,$fconstraint,$funsigned)
+	function _createSuffix($fname, &$ftype, $fnotnull, $fdefault, $fautoinc, $fconstraint, $funsigned, $fprimary, &$pkey)
 	{
 		if ($fautoinc) {
 			$ftype = 'SERIAL';
diff -Nru libphp-adodb-5.22.8/datadict/datadict-mssql.inc.php libphp-adodb-5.22.9/datadict/datadict-mssql.inc.php
--- libphp-adodb-5.22.8/datadict/datadict-mssql.inc.php	2025-01-24 22:10:09.000000000 -0300
+++ libphp-adodb-5.22.9/datadict/datadict-mssql.inc.php	2025-05-01 08:49:24.000000000 -0300
@@ -177,7 +177,7 @@
 	}
 
 	// return string must begin with space
-	function _CreateSuffix($fname,&$ftype,$fnotnull,$fdefault,$fautoinc,$fconstraint,$funsigned)
+	function _createSuffix($fname, &$ftype, $fnotnull, $fdefault, $fautoinc, $fconstraint, $funsigned, $fprimary, &$pkey)
 	{
 		$suffix = '';
 		if (strlen($fdefault)) $suffix .= " DEFAULT $fdefault";
diff -Nru libphp-adodb-5.22.8/datadict/datadict-mssqlnative.inc.php libphp-adodb-5.22.9/datadict/datadict-mssqlnative.inc.php
--- libphp-adodb-5.22.8/datadict/datadict-mssqlnative.inc.php	2025-01-24 22:10:09.000000000 -0300
+++ libphp-adodb-5.22.9/datadict/datadict-mssqlnative.inc.php	2025-05-01 08:49:24.000000000 -0300
@@ -269,7 +269,7 @@
 	// return string must begin with space
 
 	/** @noinspection DuplicatedCode */
-	function _CreateSuffix($fname,&$ftype,$fnotnull,$fdefault,$fautoinc,$fconstraint,$funsigned)
+	function _createSuffix($fname, &$ftype, $fnotnull, $fdefault, $fautoinc, $fconstraint, $funsigned, $fprimary, &$pkey)
 	{
 		$suffix = '';
 		if (strlen($fdefault)) $suffix .= " DEFAULT $fdefault";
diff -Nru libphp-adodb-5.22.8/datadict/datadict-mysql.inc.php libphp-adodb-5.22.9/datadict/datadict-mysql.inc.php
--- libphp-adodb-5.22.8/datadict/datadict-mysql.inc.php	2025-01-24 22:10:09.000000000 -0300
+++ libphp-adodb-5.22.9/datadict/datadict-mysql.inc.php	2025-05-01 08:49:24.000000000 -0300
@@ -143,7 +143,7 @@
 	}
 
 	// return string must begin with space
-	function _CreateSuffix($fname,&$ftype,$fnotnull,$fdefault,$fautoinc,$fconstraint,$funsigned)
+	function _createSuffix($fname, &$ftype, $fnotnull, $fdefault, $fautoinc, $fconstraint, $funsigned, $fprimary, &$pkey)
 	{
 		$suffix = '';
 		if ($funsigned) $suffix .= ' UNSIGNED';
diff -Nru libphp-adodb-5.22.8/datadict/datadict-oci8.inc.php libphp-adodb-5.22.9/datadict/datadict-oci8.inc.php
--- libphp-adodb-5.22.8/datadict/datadict-oci8.inc.php	2025-01-24 22:10:09.000000000 -0300
+++ libphp-adodb-5.22.9/datadict/datadict-oci8.inc.php	2025-05-01 08:49:24.000000000 -0300
@@ -199,7 +199,7 @@
 	}
 
 	// return string must begin with space
-	function _CreateSuffix($fname,&$ftype,$fnotnull,$fdefault,$fautoinc,$fconstraint,$funsigned)
+	function _createSuffix($fname, &$ftype, $fnotnull, $fdefault, $fautoinc, $fconstraint, $funsigned, $fprimary, &$pkey)
 	{
 		$suffix = '';
 
diff -Nru libphp-adodb-5.22.8/datadict/datadict-postgres.inc.php libphp-adodb-5.22.9/datadict/datadict-postgres.inc.php
--- libphp-adodb-5.22.8/datadict/datadict-postgres.inc.php	2025-01-24 22:10:09.000000000 -0300
+++ libphp-adodb-5.22.9/datadict/datadict-postgres.inc.php	2025-05-01 08:49:24.000000000 -0300
@@ -399,7 +399,7 @@
 	}
 
 	// return string must begin with space
-	function _createSuffix($fname, &$ftype, $fnotnull, $fdefault, $fautoinc, $fconstraint, $funsigned)
+	function _createSuffix($fname, &$ftype, $fnotnull, $fdefault, $fautoinc, $fconstraint, $funsigned, $fprimary, &$pkey)
 	{
 		if ($fautoinc) {
 			$ftype = 'SERIAL';
diff -Nru libphp-adodb-5.22.8/datadict/datadict-sapdb.inc.php libphp-adodb-5.22.9/datadict/datadict-sapdb.inc.php
--- libphp-adodb-5.22.8/datadict/datadict-sapdb.inc.php	2025-01-24 22:10:09.000000000 -0300
+++ libphp-adodb-5.22.9/datadict/datadict-sapdb.inc.php	2025-05-01 08:49:24.000000000 -0300
@@ -104,7 +104,7 @@
 	}
 
 	// return string must begin with space
-	function _CreateSuffix($fname,&$ftype,$fnotnull,$fdefault,$fautoinc,$fconstraint,$funsigned)
+	function _createSuffix($fname, &$ftype, $fnotnull, $fdefault, $fautoinc, $fconstraint, $funsigned, $fprimary, &$pkey)
 	{
 		$suffix = '';
 		if ($funsigned) $suffix .= ' UNSIGNED';
diff -Nru libphp-adodb-5.22.8/datadict/datadict-sqlite.inc.php libphp-adodb-5.22.9/datadict/datadict-sqlite.inc.php
--- libphp-adodb-5.22.8/datadict/datadict-sqlite.inc.php	2025-01-24 22:10:09.000000000 -0300
+++ libphp-adodb-5.22.9/datadict/datadict-sqlite.inc.php	2025-05-01 08:49:24.000000000 -0300
@@ -74,13 +74,16 @@
 	}
 
 	// return string must begin with space
-	function _CreateSuffix($fname,&$ftype,$fnotnull,$fdefault,$fautoinc,$fconstraint,$funsigned)
+	function _createSuffix($fname, &$ftype, $fnotnull, $fdefault, $fautoinc, $fconstraint, $funsigned, $fprimary, &$pkey)
 	{
 		$suffix = '';
-		if ($funsigned) $suffix .= ' UNSIGNED';
+		if ($funsigned && !($fprimary && $fautoinc)) $suffix .= ' UNSIGNED';
 		if ($fnotnull) $suffix .= ' NOT NULL';
 		if (strlen($fdefault)) $suffix .= " DEFAULT $fdefault";
-		if ($fautoinc) $suffix .= ' AUTOINCREMENT';
+		if ($fprimary && $fautoinc) {
+			$suffix .= ' PRIMARY KEY AUTOINCREMENT';
+			array_pop($pkey);
+		}
 		if ($fconstraint) $suffix .= ' '.$fconstraint;
 		return $suffix;
 	}
diff -Nru libphp-adodb-5.22.8/datadict/datadict-sybase.inc.php libphp-adodb-5.22.9/datadict/datadict-sybase.inc.php
--- libphp-adodb-5.22.8/datadict/datadict-sybase.inc.php	2025-01-24 22:10:09.000000000 -0300
+++ libphp-adodb-5.22.9/datadict/datadict-sybase.inc.php	2025-05-01 08:49:24.000000000 -0300
@@ -139,7 +139,7 @@
 	}
 
 	// return string must begin with space
-	function _CreateSuffix($fname,&$ftype,$fnotnull,$fdefault,$fautoinc,$fconstraint,$funsigned)
+	function _createSuffix($fname, &$ftype, $fnotnull, $fdefault, $fautoinc, $fconstraint, $funsigned, $fprimary, &$pkey)
 	{
 		$suffix = '';
 		if (strlen($fdefault)) $suffix .= " DEFAULT $fdefault";
diff -Nru libphp-adodb-5.22.8/debian/changelog libphp-adodb-5.22.9/debian/changelog
--- libphp-adodb-5.22.8/debian/changelog	2025-02-09 17:20:13.000000000 -0300
+++ libphp-adodb-5.22.9/debian/changelog	2025-05-02 10:48:03.000000000 -0300
@@ -1,3 +1,10 @@
+libphp-adodb (5.22.9-0.1) unstable; urgency=high
+
+  * Non-maintainer upload.
+  * New upstream version 5.22.9 (Closes: #1104548, CVE-2025-46337)
+
+ -- Leandro Cunha <leandrocunha016@gmail.com>  Fri, 02 May 2025 10:48:03 -0300
+
 libphp-adodb (5.22.8-0.1) unstable; urgency=medium
 
   * Non-maintainer upload.
diff -Nru libphp-adodb-5.22.8/docs/changelog.md libphp-adodb-5.22.9/docs/changelog.md
--- libphp-adodb-5.22.8/docs/changelog.md	2025-01-24 22:10:09.000000000 -0300
+++ libphp-adodb-5.22.9/docs/changelog.md	2025-05-01 08:49:24.000000000 -0300
@@ -14,6 +14,23 @@
 
 --------------------------------------------------------------------------------
 
+## [5.22.9] - 2025-05-01
+
+### Security
+ 
+- pgsql: SQL injection in pg_insert_id() method (CVE-2025-46337)
+  [#1070](https://github.com/ADOdb/ADOdb/issues/1070)
+
+### Fixed
+
+- sqlite: Fulfill PRIMARY KEY AUTOINCREMENT requirements
+  [#1055](https://github.com/ADOdb/ADOdb/issues/1055)
+- sqlite: fix error reporting
+  [#1061](https://github.com/ADOdb/ADOdb/issues/1061)
+- Creation of dynamic property deprecated warning with PHP 8.2
+  [#1068](https://github.com/ADOdb/ADOdb/issues/1068)
+
+
 ## [5.22.8] - 2025-01-25
 
 ### Added
@@ -1473,6 +1490,7 @@
 - Adodb5 version,more error checking code now will use exceptions if available.
 
 
+[5.22.9]: https://github.com/adodb/adodb/compare/v5.22.8...v5.22.9
 [5.22.8]: https://github.com/adodb/adodb/compare/v5.22.7...v5.22.8
 [5.22.7]: https://github.com/adodb/adodb/compare/v5.22.6...v5.22.7
 [5.22.6]: https://github.com/adodb/adodb/compare/v5.22.5...v5.22.6
diff -Nru libphp-adodb-5.22.8/drivers/adodb-postgres64.inc.php libphp-adodb-5.22.9/drivers/adodb-postgres64.inc.php
--- libphp-adodb-5.22.8/drivers/adodb-postgres64.inc.php	2025-01-24 22:10:09.000000000 -0300
+++ libphp-adodb-5.22.9/drivers/adodb-postgres64.inc.php	2025-05-01 08:49:24.000000000 -0300
@@ -135,10 +135,20 @@
 		return " coalesce($field, $ifNull) ";
 	}
 
-	// get the last id - never tested
-	function pg_insert_id($tablename,$fieldname)
+	/**
+	 * Get the last inserted id.
+	 *
+	 * @param string $tablename
+	 * @param string $fieldname
+	 * @return int|false
+	 *
+	 * @noinspection PhpUnused
+	 * @deprecated 5.22.9 Use {@see insert_ID()} method instead.
+	 */
+	function pg_insert_id($tablename, $fieldname)
 	{
-		$result=pg_query($this->_connectionID, 'SELECT last_value FROM '. $tablename .'_'. $fieldname .'_seq');
+		$sequence = pg_escape_identifier($this->_connectionID, $tablename .'_'. $fieldname .'_seq');
+		$result = pg_query($this->_connectionID, 'SELECT last_value FROM '. $sequence);
 		if ($result) {
 			$arr = @pg_fetch_row($result,0);
 			pg_free_result($result);
diff -Nru libphp-adodb-5.22.8/drivers/adodb-sqlite3.inc.php libphp-adodb-5.22.9/drivers/adodb-sqlite3.inc.php
--- libphp-adodb-5.22.8/drivers/adodb-sqlite3.inc.php	2025-01-24 22:10:09.000000000 -0300
+++ libphp-adodb-5.22.9/drivers/adodb-sqlite3.inc.php	2025-05-01 08:49:24.000000000 -0300
@@ -32,7 +32,6 @@
 	var $dataProvider = "sqlite";
 	var $replaceQuote = "''"; // string to use to replace quotes
 	var $concat_operator='||';
-	var $_errorNo = 0;
 	var $hasLimit = true;
 	var $hasInsertID = true; 		/// supports autoincrement ID?
 	var $hasAffectedRows = true; 	/// supports affected rows for update/delete?
@@ -276,17 +275,20 @@
 		return $this->_connectionID->changes();
 	}
 
+	protected function lastError()
+	{
+		$this->_errorMsg = $this->_connectionID->lastErrorMsg();
+		$this->_errorCode = $this->_connectionID->lastErrorCode();
+	}
+
 	function ErrorMsg()
  	{
-		if ($this->_logsql) {
-			return $this->_errorMsg;
-		}
-		return ($this->_errorNo) ? $this->ErrorNo() : ''; //**tochange?
+		return $this->_errorMsg;
 	}
 
 	function ErrorNo()
 	{
-		return $this->_connectionID->lastErrorCode(); //**tochange??
+		return $this->_errorCode;
 	}
 
 	function SQLDate($fmt, $col=false)
@@ -335,7 +337,7 @@
 	{
 		$rez = $this->_connectionID->query($sql);
 		if ($rez === false) {
-			$this->_errorNo = $this->_connectionID->lastErrorCode();
+			$this->lastError();
 		}
 		// If no data was returned, we don't need to create a real recordset
 		elseif ($rez->numColumns() == 0) {
@@ -647,6 +649,10 @@
 
 		// Prepare the statement
 		$stmt = $this->_connectionID->prepare($sql);
+		if ($stmt === false) {
+			$this->lastError();
+			return false;
+		}
 
 		// Set the first bind value equal to value we want to update
 		if (!$stmt->bindValue(1, $val, SQLITE3_BLOB)) {

--- End Message ---
--- Begin Message ---
Unblocked.

--- End Message ---

Reply to: