mirror of
https://github.com/Piwigo/Piwigo.git
synced 2026-03-28 17:42:57 +01:00
fixes #1292 ability to avoid the reserved words escape in pwg_query
Useful for conf_update_param because we don't want any modification in the config.value and we know we won't use the reserved words in the SQL.
This commit is contained in:
@@ -61,7 +61,7 @@ function pwg_get_db_version()
|
||||
return mysql_get_server_info();
|
||||
}
|
||||
|
||||
function pwg_query($query)
|
||||
function pwg_query($query, $escape_reserved_words=true)
|
||||
{
|
||||
global $conf,$page,$debug,$t2;
|
||||
|
||||
|
||||
@@ -124,12 +124,12 @@ function pwg_get_db_version()
|
||||
* @param string $query
|
||||
* @return mysqli_result|bool
|
||||
*/
|
||||
function pwg_query($query)
|
||||
function pwg_query($query, $escape_reserved_words=true)
|
||||
{
|
||||
global $mysqli, $conf, $page, $debug, $t2;
|
||||
|
||||
// starting with MySQL 8, rank becomes a reserved keyword, we need to escape it
|
||||
if (preg_match('/\brank\b/', $query))
|
||||
if ($escape_reserved_words and preg_match('/\brank\b/', $query))
|
||||
{
|
||||
// first we unescape what's already escaped (to avoid double escaping)
|
||||
$query = preg_replace('/`rank`/', 'rank', $query);
|
||||
@@ -137,7 +137,7 @@ function pwg_query($query)
|
||||
$query = preg_replace('/\brank\b/', '`rank`', $query);
|
||||
}
|
||||
|
||||
if (preg_match('/\bgroups\b/', $query))
|
||||
if ($escape_reserved_words and preg_match('/\bgroups\b/', $query))
|
||||
{
|
||||
// first we unescape what's already escaped (to avoid double escaping)
|
||||
$query = preg_replace('/`groups`/', 'groups', $query);
|
||||
|
||||
@@ -1381,7 +1381,7 @@ INSERT INTO
|
||||
ON DUPLICATE KEY UPDATE value = \''.$dbValue.'\'
|
||||
;';
|
||||
|
||||
pwg_query($query);
|
||||
pwg_query($query, false);
|
||||
|
||||
if ($updateGlobal)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user