Mysql
 sql >> Datenbank >  >> RDS >> Mysql

wie man Eingaben maskiert, aber ohne Escapezeichen in der Datenbank speichert

Sie verwenden KEINE addslashes Sie verwenden die entsprechende DB-spezifische Escape-Funktion wie mysql_real_escape_string .

Wenn Sie PDO verwenden, wird die Verwendung einer vorbereiteten Anweisung die Variablen als Teil des Bindungsprozesses maskieren. In diesem Fall brauchen Sie nur so etwas wie:

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

ODER für bessere Lesbarkeit und einfachere Wiederverwendung können Sie benannte Parameter verwenden:

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