• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PHP PDO eine kleine Frage

Yosh™

Mitglied
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:

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);
Es wurde in anderen Foren geschrieben das Execute ausreicht, doch stimmt das? und wofür gibt es dann PDO::pARAM?

MfG

*edit*

Php Code überarbeitet
 
Zuletzt bearbeitet:
Zurück
Oben