addslashes

Quote string with slashes

Description

string addslashes ( string $str )

Returns a string with backslashes before characters that need to be escaped. These characters are single quote ('), double quote ("), backslash (\) and NUL (the NULL byte).

An example use of addslashes is when you're entering data into string that is evaluated by PHP. For example, O'reilly is stored in $str, you need to escape $str. (e.g. eval("echo '".addslashes($str)."';"); )

To escape database parameters, DBMS specific escape function (e.g. mysqli_real_escape_string for MySQL or pg_escape_literal, pg_escape_string for PostgreSQL) should be used for security reasons. DBMSes have differect escape specification for identifiers (e.g. Table name, field name) than parameters. Some DBMS such as PostgreSQL provides identifier escape function, pg_escape_indentifier, but not all DBMS provides identifier escape API. If this is the case, refer to your database system manual for proper escaping method.

If your DBMS doesn't have an escape function and the DBMS uses \ to escape special chars, you might be able to use this function only when this escape method is adequate for your database. Please note that use of addslashes for database parameter escaping can be cause of security issues on most databases.

The PHP directive magic_quotes_gpc was on by default before PHP 5.4, and it essentially ran addslashes on all GET, POST, and COOKIE data. Do not use addslashes on strings that have already been escaped with magic_quotes_gpc as you'll then do double escaping. The function get_magic_quotes_gpc may come in handy for checking this.

Parameters

str

The string to be escaped.

Return Values

Returns the escaped string.

Examples

Example #1 An addslashes example

<?php
$str 
"Is your name O'reilly?";

// Outputs: Is your name O\'reilly?
echo addslashes($str);
?>

See Also

  • stripcslashes
  • stripslashes
  • addcslashes
  • htmlspecialchars
  • quotemeta
  • get_magic_quotes_gpc