Add quotes on upsert fields
This commit is contained in:
11
inc/Db.php
11
inc/Db.php
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user