Mysql
 sql >> Base de données >  >> RDS >> Mysql

comment échapper l'entrée mais enregistrer sans échappement dans la base de données

Vous n'utilisez PAS addslashes vous utilisez la fonction d'échappement spécifique à la base de données appropriée comme mysql_real_escape_string .

si vous utilisez PDO, l'utilisation d'une instruction préparée échappera aux variables dans le cadre du processus de liaison. Dans ce cas, tout ce que vous avez à faire est quelque chose comme :

$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');

OU pour plus de lisibilité et une réutilisation plus facile, vous pouvez utiliser des paramètres nommés :

$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');