Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL_real_escape_string não está adicionando barras?


m_r_e_s() RETORNA o valor escapado, não modifica o original.
$int = mysql_real_escape_string($_POST['int']);

$query = "UPDATE ... interests = '$int' ...";

Observe que adicionei aspas ao redor do int no valor POST. Sem as aspas, o PHP o vê como um valor constante (por exemplo, define()). Se ele não encontrar uma constante com esse nome, ele assumirá educadamente que você quis usar uma string e ajustará de acordo, mas emitirá um aviso. Se você tivesse feito
define('int', 'some totally wonky value');

anteriormente, você estaria acessando o valor POST errado, porque o PHP o veria como $_POST[some totally wonky value] em vez de.