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($asData);
|
||||||
$this->cleanSql($asUpdateFields);
|
$this->cleanSql($asUpdateFields);
|
||||||
|
|
||||||
$asQueryValues = $this->addQuotes($asData);
|
$asQuotedData = $this->addQuotes($asData);
|
||||||
$asUpdateValues = array_intersect_key($asData, array_flip($asUpdateFields));
|
$asUpdateData = array_intersect_key($asData, array_flip($asUpdateFields));
|
||||||
|
$asQuotesdUpdateData = $this->addQuotes($asUpdateData);
|
||||||
|
|
||||||
$sQuery =
|
$sQuery =
|
||||||
"INSERT INTO ".$sTableName." (`".implode("`, `", array_keys($asQueryValues))."`) ".
|
"INSERT INTO ".$sTableName." (`".implode("`, `", array_keys($asQuotedData))."`) ".
|
||||||
"VALUES (".implode(", ", $asQueryValues).") ".
|
"VALUES (".implode(", ", $asQuotedData).") ".
|
||||||
"ON DUPLICATE KEY UPDATE ".$this->implodeAll($asUpdateValues, " = ", ", ");
|
"ON DUPLICATE KEY UPDATE ".$this->implodeAll($asQuotesdUpdateData, " = ", ", ");
|
||||||
|
|
||||||
return $this->setQuery($sQuery)?$this->getLastId():0;
|
return $this->setQuery($sQuery)?$this->getLastId():0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user