繁体   English   中英

PHP和MySQL不能将数据插入表(PDO)

[英]PHP & MySQL no inserting data into table (PDO)

我在获取要插入到数据库中的记录时遇到了麻烦,已经检查了代码,PHP和数据库之间的所有变量和名称均匹配。

没有错误消息,我收到的文字是说已创建预订,但没有记录输入数据库。

这是用于插入记录的php代码;

     <div class="containter">
      <?php
      if (isset($_POST['submit'])) {
         try {
             include ('include\PDO.php');
             $sql = "INSERT INTO customers(Customer_Name, Customer_Email, Customer_Contact) VALUES (:Customer_Name, :Customer_Email, :Customer_Contact)";

             //Named Parameters

             $stmt = $dbh->prepare($sql);

             if (!$stmt) {
                        echo "\nPDO::errorInfo():\n";
                        print_r($dbh->errorInfo());
                         }

             $Customer_Name = filter_input(INPUT_POST, 'Customer_Name');
             $stmt->bindValue(':Customer_Name', $Customer_Name, PDO::PARAM_STR);

             $Customer_Email = filter_input(INPUT_POST, 'Customer_Email');
             $stmt->bindValue(':Customer_Email', $Customer_Email, PDO::PARAM_STR);

             $Customer_Contact = filter_input(INPUT_POST, 'Customer_Contact');
             $stmt->bindValue(':Customer_Contact', $Customer_Contact, PDO::PARAM_STR);

             print $Customer_Contact;
             print $Customer_Name;
             print $Customer_Email;

             $stmt->execute();

             $dbh = null;


         } catch (PDOException $e) {
             //Error Messages
             print "We have had an error: " . $e->getMessage() . "<br/>";
             die();
         }         

     ?>

     <p> Booking Created.</p>

     <?php } else { ?>

     <form action ="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post">
         <label>Name:</label> <input type="text" name ="Cusomer_Name">
         <label>Email:</label> <input type="email" name ="Cusomer_Email">
         <label>Contact:</label> <input type="tel" name ="Cusomer_Contact">
         <input type="submit" name ="submit">
     </form>

     <?php } ?>
</div>
</body>
</html>

我已经检查了所有可以想到的内容,但似乎无法将记录添加到数据库中。

关于我在做什么错的任何想法?

在html表单中,您具有:

<label>Name:</label> <input type="text" name ="Cusomer_Name">

在php代码中,您过滤Customer_Name:

$Customer_Name = filter_input(INPUT_POST, 'Customer_Name');

html格式中缺少“ t”。

在html表单中放入Customer_Name而不是Cusomer_Name,并对Cusomer_Email和Cusomer_Contact做同样的事情

$stmt->execute(); 返回带有答案的布尔值。 尝试按照以下代码片段找出问题所在:

$success = $stmt->execute();
if (!$success){
    print $stmt->errorInfo()[2]; //PDO driver error message
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM