Add quotes on upsert fields

This commit is contained in:
2024-05-25 12:45:54 +02:00
parent 81a9c919dd
commit a6c11c1015

View File

@@ -493,13 +493,14 @@ class Db extends PhpObject
$this->cleanSql($asData);
$this->cleanSql($asUpdateFields);
$asQueryValues = $this->addQuotes($asData);
$asUpdateValues = array_intersect_key($asData, array_flip($asUpdateFields));
$asQuotedData = $this->addQuotes($asData);
$asUpdateData = array_intersect_key($asData, array_flip($asUpdateFields));
$asQuotesdUpdateData = $this->addQuotes($asUpdateData);
$sQuery =
"INSERT INTO ".$sTableName." (`".implode("`, `", array_keys($asQueryValues))."`) ".
"VALUES (".implode(", ", $asQueryValues).") ".
"ON DUPLICATE KEY UPDATE ".$this->implodeAll($asUpdateValues, " = ", ", ");
"INSERT INTO ".$sTableName." (`".implode("`, `", array_keys($asQuotedData))."`) ".
"VALUES (".implode(", ", $asQuotedData).") ".
"ON DUPLICATE KEY UPDATE ".$this->implodeAll($asQuotesdUpdateData, " = ", ", ");
return $this->setQuery($sQuery)?$this->getLastId():0;
}