2016-07-29 145 views
0

爲什麼在MySQL中我插入功能無法將數據插入到數據庫的任何人都可以解釋一下嗎?沒有錯誤/警告,但我的數據沒有成功插入。MySQL的插入使用PDO不插入數據

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!'; 
} 

這裏是我的輸出:

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! 

我很困惑!

+5

很肯定''salutation_dr/MR/ms''應該是'' salutation_dr/mr/ms''(後退滴答不引號)。還要確保你的pdo對象被設置爲在發生錯誤時拋出異常。 – bassxzero

+0

'ASCII:[0-9,AZ,AZ $ _](基本拉丁字母,數字0-9美元,下劃線)'逃脫標題欄(或重新命名它)與反引號,不是報價.. HTTP:// dev.mysql.com/doc/refman/5.7/en/identifiers.html – chris85

+0

@bassxzero,如果你作出回答,我會接受它。 – Nic

回答

0

很肯定'salutation_dr/mr/ms'應該是`salutation_dr/MR/ms`(反勾不包括引號)。還要確保你的pdo對象被設置爲在發生錯誤時拋出異常。

0

使用salutation_dr/mr/ms作爲列名不建議,但如果你想用這個作爲列名,你可以嘗試使用反引號`在查詢