The exact characters that are escaped by this function are the null byte (0), newline (\n), carriage return (\r), backslash (\), single quote ('), double quote (") and substiture (SUB, or \032).
mysql_escape_string
(PHP 4 >= 4.0.3, PHP 5)
mysql_escape_string — Escapa uma string para usar em uma consulta MySQL
Descrição
$unescaped_string
)
This function will escape the unescaped_string,
so that it is safe to place it in a mysql_query().
This function is deprecated.
This function is identical to mysql_real_escape_string() except that mysql_real_escape_string() takes a connection handler and escapes the string according to the current character set. mysql_escape_string() does not take a connection argument and does not respect the current charset setting.
Parâmetros
-
unescaped_string -
The string that is to be escaped.
Valor Retornado
Returns the escaped string.
Changelog
| Versão | Descrição |
|---|---|
| 4.3.0 | This function became deprecated, do not use this function. Instead, use mysql_real_escape_string(). |
Exemplos
Exemplo #1 mysql_escape_string() example
<?php
$item = "Zak's Laptop";
$escaped_item = mysql_escape_string($item);
printf("Escaped string: %s\n", $escaped_item);
?>
O exemplo acima irá imprimir:
Escaped string: Zak\'s Laptop
Notas
Nota:
mysql_escape_string() does not escape % and _.
Veja Também
- mysql_real_escape_string() - Escapa os caracteres especiais numa string para usar em um comando SQL, levando em conta o conjunto atual de caracteres.
- addslashes() - Adiciona barras invertidas a uma string
- The magic_quotes_gpc directive.
it seems the function changes the character encoding of the string.
I get utf-8 encoded string and my mysql database is set to utf-8 as well.
If i just write the data to the database it works perfectly fine, if i use this function, it changes the encoding and therefore stores the wrong characters.
Seems like a bug to me.
