Guten Tag,
ich steige derzeit von mysqli auf PDO um :).
Jetzt hab ich das grobe Grundgerüst fertig (HTML, CSS, JS) und nun gehts an die SQL QUerys.
Nun mein erster Anlauf für PDO:
So.
1) ersetze ich durch $stmt->execute jegliches mysqli_real_escape_string? Also sind SQL Injections somit ausgeschlossen?
oder muss ich es so machen:
Es wurde in anderen Foren geschrieben das Execute ausreicht, doch stimmt das? und wofür gibt es dann PDO:ARAM?
MfG
*edit*
Php Code überarbeitet
ich steige derzeit von mysqli auf PDO um :).
Jetzt hab ich das grobe Grundgerüst fertig (HTML, CSS, JS) und nun gehts an die SQL QUerys.
Nun mein erster Anlauf für PDO:
PHP:
$pdo = new PDO('mysql:host=localhost;dbname=ecom;', 'root', '*******', array('charset'=>'utf8'));
if(isset($_POST['accountSubmit'])){
if(!isset($_POST['accountNewsletter'])){
$news = '0';
} else {
$news = '1';
}
$stmt = $pdo->prepare("INSERT INTO account
(email, hash_password, gender, firstname, lastname, street, street_number, plz, city, agb, newsletter)
VALUES
(?,?,?,?,?,?,?,?,?,?,?);");
$stmt->execute(
array(
$_POST['accountMail'],
$_POST['accountPassword'],
$_POST['accountSalutation'],
$_POST['accountFirstname'],
$_POST['accountLastname'],
$_POST['accountStreet'],
$_POST['accountNumber'],
$_POST['accountPostalCode'],
$_POST['accountVillage'],
'1',
$news
)
);
}
So.
1) ersetze ich durch $stmt->execute jegliches mysqli_real_escape_string? Also sind SQL Injections somit ausgeschlossen?
oder muss ich es so machen:
Code:
$sth->bindParam(':users_name', $name, PDO::PARAM_STR);
$sth->bindParam(':users_password', $password, PDO::PARAM_STR);
MfG
*edit*
Php Code überarbeitet
Zuletzt bearbeitet: