diff options
author | Davey Shafik <me@daveyshafik.com> | 2016-02-05 04:28:55 -0500 |
---|---|---|
committer | Davey Shafik <me@daveyshafik.com> | 2016-02-05 04:28:55 -0500 |
commit | 9116bd25729b60cf35d939d3fa2aa50ed577e7c8 (patch) | |
tree | 81ff2d8c96c99bee9c1ec4d98f83732a1f952ee1 /lib/mysql.php | |
parent | 5251472c2d06e8b4c6da642ea9c97494912a1d10 (diff) | |
download | php7-mysql-shim-9116bd25729b60cf35d939d3fa2aa50ed577e7c8.zip php7-mysql-shim-9116bd25729b60cf35d939d3fa2aa50ed577e7c8.tar.gz php7-mysql-shim-9116bd25729b60cf35d939d3fa2aa50ed577e7c8.tar.bz2 |
Refactor `Dshafik\MySQL::escapeString()`
Diffstat (limited to 'lib/mysql.php')
-rw-r--r-- | lib/mysql.php | 56 |
1 files changed, 30 insertions, 26 deletions
diff --git a/lib/mysql.php b/lib/mysql.php index f4b8214..1fd65d6 100644 --- a/lib/mysql.php +++ b/lib/mysql.php @@ -695,31 +695,7 @@ namespace Dshafik { { $escapedString = ""; for ($i = 0; $i < strlen($unescapedString); $i++) { - switch ($unescapedString{$i}) { - case "\0": - $esc = "\\0"; - break; - case "\n": - $esc = "\\n"; - break; - case "\r": - $esc = "\\r"; - break; - case '\\': - case '\'': - case '"': - $esc = "\\{$unescapedString{$i}}"; - break; - case "\032": - $esc = "\\Z"; - break; - default: - $esc = $unescapedString{$i}; - break; - } - - $escapedString .= $esc; - + $escapedString .= self::escapeChar($unescapedString{$i}); } return $escapedString; @@ -786,11 +762,39 @@ namespace Dshafik { MYSQLI_TYPE_TIMESTAMP => 'timestamp', MYSQLI_TYPE_NULL => 'null', - + MYSQLI_TYPE_GEOMETRY => 'geometry', ]; return isset($types[$what]) ? $types[$what] : "unknown"; } + + protected static function escapeChar($char) + { + switch ($char) { + case "\0": + $esc = "\\0"; + break; + case "\n": + $esc = "\\n"; + break; + case "\r": + $esc = "\\r"; + break; + case '\\': + case '\'': + case '"': + $esc = "\\{$char}"; + break; + case "\032": + $esc = "\\Z"; + break; + default: + $esc = $char; + break; + } + + return $esc; + } } } |