Os curingas só têm efeito quando usados em
SELECT
consultas e somente ao usar determinadas funções. Então, para inserir o código, será bom usar mysql_real_escape_string()
pois não terão efeito. Para melhorar, recomendo que você use PHPs PDO para que você possa usar a associação de parâmetros. O exemplo a seguir é do manual do 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();
?>