Brug forberedte udsagn
Det, de gør, er først at sende en version af forespørgslen med pladsholdere til data. Forespørgslen er verificeret og forberedt. Hvis det lykkes, kan du sende de værdier, som databasen sikkert vil indsætte i den forberedte forespørgsel.
Der er tre muligheder:
MySQLi-udvidelsen
$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();
PDO-udvidelsen
// 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();
Rå forespørgsler via enhver udvidelse
Jeg vil ikke give et eksempel, fordi de to andre metoder er langt overlegne.