2016-07-29 13 views
0

Kann mir jemand erklären, warum meine Insert-Funktion in MySQL keine Daten in die Datenbank einfügt? Es gibt keine Fehler/Warnungen, aber meine Daten werden nicht erfolgreich eingefügt. MySQL Einfügen mit PDO fügt keine Daten ein

function add_update_visitor_information() { 
    include 'config.php'; 

    var_dump($conn); 

    $stmt = $conn->prepare(
     "INSERT INTO visitor_contacts (
      'salutation_dr/mr/ms', 
      first_name, 
      middle_init, 
      last_name, 
      suffix, 
      email 
     ) VALUES (
      :salutation, 
      :firstname, 
      :middleinitial, 
      :lastname, 
      :suffix, 
      :email 
     )" 
    ); 

    echo '<br><br>'.$_POST['salutation'].'<br>'; 
    echo $_POST['firstname'].'<br>'; 
    echo $_POST['middleinitial'].'<br>'; 
    echo $_POST['lastname'].'<br>'; 
    echo $_POST['suffix'].'<br>'; 
    echo $_POST['email'].'<br><br>'; 

    $stmt->execute(array(
     ':salutation' => $_POST['salutation'], 
     ':firstname' => $_POST['firstname'], 
     ':middleinitial' => $_POST['middleinitial'], 
     ':lastname' => $_POST['lastname'], 
     ':suffix' => $_POST['suffix'], 
     ':email' => $_POST['email'] 
    )); 

    var_dump($stmt); 

    echo '<br><br>Adding or Updating!'; 
} 

Hier ist meine Ausgabe:

object(PDO)#1 (0) { } 

test 
yo 
yo 
yo 
test 
[email protected] 

object(PDOStatement)#2 (1) { ["queryString"]=> string(180) "INSERT INTO visitor_contacts ('salutation_dr/mr/ms', first_name, middle_init, last_name, suffix, email) VALUES (:salutation, :firstname, :middleinitial, :lastname, :suffix, :email)" } 

Adding or Updating! 

ich ziemlich verwirrt bin!

+5

Ziemlich sicher, dass' 'salutation_dr/mr/ms'' sollte '' sein salutation_dr/mr/ms'' (zurück tickt nicht in Anführungszeichen). Stellen Sie außerdem sicher, dass Ihr pdo-Objekt so eingestellt ist, dass es bei Fehlern Ausnahmen auslöst. – bassxzero

+0

'ASCII: [0-9, az, AZ $ _] (grundlegende lateinische Buchstaben, Ziffern 0-9, Dollar, Unterstrich)' Verlasse diese Titelspalte (oder benenne sie um) mit Backticks, nicht in Anführungszeichen .. http: // dev.mysql.com/doc/refman/5.7/en/identifiers.html – chris85

+0

@bassxzero, wenn Sie eine Antwort machen, werde ich es akzeptieren. – Nic

Antwort

0

Ziemlich sicher 'salutation_dr/mr/ms' sollte `salutation_dr/mr/ms` sein (zurück Ticks nicht Anführungszeichen). Stellen Sie außerdem sicher, dass Ihr pdo-Objekt so eingestellt ist, dass es bei Fehlern Ausnahmen auslöst.

0

salutation_dr/mr/ms als Spaltenname verwendet, wird nicht vorgeschlagen, aber wenn man diese als Spaltennamen verwenden möchten, können Sie versuchen, mit zurück Zecken `in Ihrer Abfrage