Utilisez des déclarations préparées
Ce qu'ils font, c'est d'abord envoyer une version de la requête avec des espaces réservés pour les données. La requête est vérifiée et préparée. En cas de succès, vous pouvez envoyer les valeurs que la base de données insérera en toute sécurité dans la requête préparée.
Il y a trois options :
L'extension MySQLi
$stmt = $mysli->prepare('INSERT INTO costumer (costumer_ID, first_name, last_name, birth_date, adress, city, state, postal_code, country, phone, email_client,username, password, Credit_Card, Credit_CardType)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?');
$stmt->bindParam('issssssssssssss', $_POST['costumer_ID'], ..., $_POST['Credit_CardType']);
$stmt->execute();
L'extension PDO
// use native prepared statements if supported
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$stmt = $pdo->prepare('INSERT INTO costumer (costumer_ID, first_name, last_name, birth_date, adress, city, state, postal_code, country, phone, email_client,username, password, Credit_Card, Credit_CardType)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?');
$stmt->bindParam(1, $_POST['costumer_ID'], PDO::PARAM_INT);
...
$stmt->bindParam(15, $_POST['Credit_CardType']);
$stmt->execute();
Requêtes brutes via n'importe quelle extension
Je ne vais pas donner d'exemple car les deux autres méthodes sont de loin supérieures.