Les caractères génériques ne prennent effet que lorsqu'ils sont utilisés dans SELECT
requêtes et seulement lors de l'utilisation de certaines fonctions. Donc, pour insérer le code, il sera bon d'utiliser mysql_real_escape_string()
car ils n'auront aucun effet.
Pour l'améliorer, je vous recommande d'utiliser PHPs PDO afin que vous puissiez utiliser la liaison de paramètres. L'exemple suivant provient du du manuel PHP :
<?php
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':value', $value);
// insert one row
$name = 'one';
$value = 1;
$stmt->execute();
// insert another row with different values
$name = 'two';
$value = 2;
$stmt->execute();
?>