Insérer dans la Table MySQL PHP

Je vais avoir quelques difficultés à faire un simple formulaire pour insérer des données dans une table MySQL. Je reçois cette erreur SQL:

"Erreur: Vous avez une erreur dans votre syntaxe SQL; consultez le manuel
correspond à votre versions du serveur MySQL pour la bonne syntaxe à utiliser
près de 'stock ('ItemNumber', 'Stock') les VALEURS ('#4','3")' à la ligne 1"

Mon HTML pour le formulaire est:

    <form action="database.php" method="post">
    Item Number: <input type="text" name="ItemNumber">
    Stock: <input type="text" name="Stock">
    <input type="submit">
    </form>

Et la PHP est:

    <?php
    $con=mysqli_connect("localhost","root","root","inventory");
    if (mysqli_connect_errno($con))
      {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
      }
     $sql = "INSERT INTO current stock ('ItemNumber', 'Stock')
    VALUES
    ('$_POST[ItemNumber]','$_POST[Stock]'')";
    if (!mysqli_query($con,$sql))
      {
      die('Error: ' . mysqli_error($con));
      }
    echo "1 record added";
    mysqli_close($con);
    ?>
Votre page web est grande ouverte pour les injections SQL. Ne pas un code comme ceci. Au lieu d'utiliser des procédures stockées SQL paramétrée de commandes et d'interdire à l'utilisateur à partir de la saisie des caractères spéciaux...
Je voudrais aussi éviter l'utilisation de l'espace de caractère dans un tableau ou un nom de champ.
Je sais que c'est une vieille question, mais le projet de Loi Karwin a la meilleure réponse ici. Les autres réponses sont en insécurité.

OriginalL'auteur Jake Ols | 2013-06-16