Verwenden Sie vorbereitete Anweisungen
Sie senden zunächst eine Version der Abfrage mit Platzhaltern für Daten. Die Abfrage wird verifiziert und vorbereitet. Bei Erfolg können Sie die Werte senden, die die Datenbank sicher in die vorbereitete Abfrage einfügt.
Es gibt drei Möglichkeiten:
Die MySQLi-Erweiterung
$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();
Die PDO-Erweiterung
// 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();
Rohabfragen über beliebige Erweiterungen
Ich werde kein Beispiel geben, weil die beiden anderen Methoden weit überlegen sind.