2016-07-29 80 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作为列名不建议,但如果你想用这个作为列名,你可以尝试使用反引号`在查询