sql >> Base de Datos >  >> RDS >> Mysql

cómo escapar de la entrada pero guardar sin escapar en la base de datos

NO usas addslashes usa la función de escape específica de DB apropiada como mysql_real_escape_string .

si está utilizando PDO, el uso de una declaración preparada escapará de las variables como parte del proceso de vinculación. En este caso, todo lo que necesita hacer es algo como:

$pdo = new PDO($dsn, $user, $name);
$stmt = $pdo->prepare('INSERT INTO your_table (col1, col2,col3) VALUES (?, ?, ?)');
$stmt->execute(array('value 1', 'value 2', 'value 3');

O para mayor legibilidad y reutilización de esier, puede usar parámetros con nombre:

$pdo = new PDO($dsn, $user, $name);
$stmt = $pdo->prepare('INSERT INTO your_table (col1, col2,col3) VALUES (:col1, :col2, :col3)');
$stmt->execute(array(':col1' =>'value 1', ':col2' =>'value 2', ':col3' =>'value 3');