summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Tarasov <ktarasov@peredelka-saitov.ru>2025-06-24 16:21:52 +0300
committerDamien Regad <dregad@mantisbt.org>2025-11-22 12:11:10 +0100
commitc121a1aa1f82dd9a1d4509a1e7c7a18d44416d83 (patch)
treea1e19c88b69a7f45a111495f666bec856f139257
parentf44e474d39ec24f6b0cb0a5d656bb371ce7acd12 (diff)
downloadadodb-c121a1aa1f82dd9a1d4509a1e7c7a18d44416d83.tar.gz
adodb-c121a1aa1f82dd9a1d4509a1e7c7a18d44416d83.tar.bz2
adodb-c121a1aa1f82dd9a1d4509a1e7c7a18d44416d83.zip
Active record: handle empty string in dbquote()
The method did not generate the appropriate quote for empty strings, resulting in invalid SQL syntax in the UPDATE statement's where clause. Fix #1073, PR #1074
-rw-r--r--adodb-active-record.inc.php6
-rw-r--r--adodb-active-recordx.inc.php5
2 files changed, 8 insertions, 3 deletions
diff --git a/adodb-active-record.inc.php b/adodb-active-record.inc.php
index 08f7ca8d..4790e074 100644
--- a/adodb-active-record.inc.php
+++ b/adodb-active-record.inc.php
@@ -717,7 +717,7 @@ class ADODB_Active_Record {
}
// quote data in where clause
- function doquote(&$db, $val,$t)
+ function doquote(&$db, $val, $t)
{
switch($t) {
case 'L':
@@ -736,7 +736,9 @@ class ADODB_Active_Record {
if (is_null($val)) {
return 'null';
}
-
+ if ('' === (string) $val) {
+ return "''";
+ }
if (strlen($val)>0 &&
(strncmp($val,"'",1) != 0 || substr($val,strlen($val)-1,1) != "'")
) {
diff --git a/adodb-active-recordx.inc.php b/adodb-active-recordx.inc.php
index 18e2a189..21ab47b2 100644
--- a/adodb-active-recordx.inc.php
+++ b/adodb-active-recordx.inc.php
@@ -762,7 +762,7 @@ class ADODB_Active_Record {
}
// quote data in where clause
- function doquote(&$db, $val,$t)
+ function doquote(&$db, $val, $t)
{
switch($t) {
case 'D':
@@ -775,6 +775,9 @@ class ADODB_Active_Record {
if (is_null($val)) {
return 'null';
}
+ if ('' === (string) $val) {
+ return "''";
+ }
if (strlen($val)>0 &&
(strncmp($val,"'",1) != 0 || substr($val,strlen($val)-1,1) != "'")
) {