diff --git a/adminer/drivers/mongo.inc.php b/adminer/drivers/mongo.inc.php index 9d9fe222..c10aca9b 100644 --- a/adminer/drivers/mongo.inc.php +++ b/adminer/drivers/mongo.inc.php @@ -116,6 +116,10 @@ if (isset($_GET["mongo"])) { class Min_Driver extends Min_SQL { public $primary = "_id"; + function quote($value) { + return ($value === null ? $value : parent::quote($value)); + } + function select($table, $select, $where, $group, $order, $limit, $page, $print = false) { $select = ($select == array("*") ? array() diff --git a/adminer/include/driver.inc.php b/adminer/include/driver.inc.php index 0c13b9ea..7ea563e9 100644 --- a/adminer/include/driver.inc.php +++ b/adminer/include/driver.inc.php @@ -10,6 +10,14 @@ $this->_conn = $connection; } + /** Quote a SQL string or null value + * @param string + * @return string + */ + function quote($value) { + return ($value === null ? "NULL" : $this->_conn->quote($value)); + } + /** Select data from table * @param string * @param array result of $adminer->selectColumnsProcess()[0] diff --git a/adminer/include/functions.inc.php b/adminer/include/functions.inc.php index 51302394..f31ff82e 100644 --- a/adminer/include/functions.inc.php +++ b/adminer/include/functions.inc.php @@ -249,13 +249,13 @@ function sid() { return $return; } -/** Shortcut for $connection->quote($string) +/** Shortcut for $driver->quote($string) * @param string * @return string */ function q($string) { - global $connection; - return $connection->quote($string); + global $driver; + return $driver->quote($string); } /** Get list of values from database @@ -880,7 +880,7 @@ function process_input($field) { return ($field["on_update"] == "CURRENT_TIMESTAMP" ? idf_escape($field["field"]) : false); } if ($function == "NULL") { - return "NULL"; + $value = null; } if ($field["type"] == "set") { return array_sum((array) $value);