addslashes
は使用しないでください mysql_real_escape_string
のような適切なDB固有のエスケープ関数を使用します 。
PDOを使用している場合、プリペアドステートメントを使用すると、バインディングプロセスの一部として変数がエスケープされます。この場合、あなたがする必要があるのは次のようなものだけです:
$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');
または、読みやすさと再利用性を高めるために、名前付きパラメータを使用できます:
$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');