使用PDO的MySQL插入不插入数据

时间:2016-07-29 17:36:37

标签: php mysql pdo

有人可以向我解释为什么MySQL中的插入函数没有将数据插入数据库吗?没有错误/警告,但我的数据未成功插入。

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
test@test.com

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!

我很困惑!

2 个答案:

答案 0 :(得分:0)

非常确定'salutation_dr/mr/ms'应该是'salutation_dr / mr / ms`(后退不是引号)。还要确保将pdo对象设置为在出错时抛出异常。

答案 1 :(得分:0)

不建议使用salutation_dr/mr/ms作为列名,但如果您想将其用作列名,则可以尝试在查询中使用back ticks`