mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-31 05:50:42 +02:00
new wrapper for LIKE expressions to streamline the fixes. We actually need to adjust them for different DBMS as well as SQLite2 not supporting escaping characters in LIKE statements (which is a reason why we think about dropping sqlite support completely).
git-svn-id: file:///svn/phpbb/trunk@7788 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
@@ -308,6 +308,22 @@ class dbal_mssql extends dbal
|
||||
return str_replace("'", "''", $msg);
|
||||
}
|
||||
|
||||
/**
|
||||
* Correctly adjust LIKE expression for special characters
|
||||
* MSSQL needs an escape character being defined
|
||||
*/
|
||||
function sql_like_expression($expression)
|
||||
{
|
||||
// Standard for most DBMS
|
||||
if (strpos($expression, '_') === false)
|
||||
{
|
||||
return 'LIKE \'' . $this->sql_escape($expression) . '\'';
|
||||
}
|
||||
|
||||
// sql_like_expression is only allowed directly within single quotes (to ease the use of it), therefore the special writing of ESCAPE below
|
||||
return 'LIKE \'' . $this->sql_escape(str_replace('_', "\_", $expression)) . "' ESCAPE '\\'";
|
||||
}
|
||||
|
||||
/**
|
||||
* return sql error array
|
||||
* @access private
|
||||
|
Reference in New Issue
Block a user