Mysql
 sql >> Database >  >> RDS >> Mysql

come sfuggire all'input ma salvare senza escape nel database

NON usi addslashes usi la funzione di escape specifica del DB appropriata come mysql_real_escape_string .

se si utilizza PDO, l'utilizzo di un'istruzione preparata sfuggirà alle variabili come parte del processo di associazione. In questo caso tutto ciò che devi fare è qualcosa del tipo:

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

OPPURE per una maggiore leggibilità e un riutilizzo più semplice, puoi utilizzare parametri denominati:

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