X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FDatabase%2FDBA.php;h=c0b783c29dccc6e8101b94e080c992a5cfa73083;hb=ab5cedfa507a85a5622d1830e519c52dfd4e5b5a;hp=8e5a621b3689819f93ec021506716debf7f6561e;hpb=cfa68c52b9117616fa95a4639ad74e7d220d193d;p=friendica.git diff --git a/src/Database/DBA.php b/src/Database/DBA.php index 8e5a621b36..c0b783c29d 100644 --- a/src/Database/DBA.php +++ b/src/Database/DBA.php @@ -251,11 +251,15 @@ class DBA } public static function escape($str) { - switch (self::$driver) { - case 'pdo': - return substr(@self::$connection->quote($str, PDO::PARAM_STR), 1, -1); - case 'mysqli': - return @self::$connection->real_escape_string($str); + if (self::$connected) { + switch (self::$driver) { + case 'pdo': + return substr(@self::$connection->quote($str, PDO::PARAM_STR), 1, -1); + case 'mysqli': + return @self::$connection->real_escape_string($str); + } + } else { + return str_replace("'", "\\'", $str); } } @@ -1054,7 +1058,12 @@ class DBA $commands[$key] = ['table' => $table, 'conditions' => $conditions]; - $cascade = defaults($options, 'cascade', true); + // Don't use "defaults" here, since it would set "false" to "true" + if (isset($options['cascade'])) { + $cascade = $options['cascade']; + } else { + $cascade = true; + } // To speed up the whole process we cache the table relations if ($cascade && count(self::$relation) == 0) { @@ -1610,7 +1619,7 @@ class DBA if (is_bool($value)) { $value = ($value ? '1' : '0'); } else { - $value = dbesc($value); + $value = self::escape($value); } return; } @@ -1620,7 +1629,7 @@ class DBA } elseif (is_float($value) || is_integer($value)) { $value = (string) $value; } else { - $value = "'" . dbesc($value) . "'"; + $value = "'" . self::escape($value) . "'"; } }