首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用php fails (xampp环境)将表单数据发送到mysqli dtbs

使用php fails (xampp环境)将表单数据发送到mysqli dtbs
EN

Stack Overflow用户
提问于 2017-07-31 09:34:36
回答 2查看 130关注 0票数 0

下面是我的html表单代码:问题是我无法弄清楚如何使用xampp成功地将表单提交给mysql dtbs。(数据未发送到dtb)。

代码语言:javascript
复制
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>My Form</title>
    <meta name="description" content="An interactive form">
    </head>

    <body>

    <form action="test.php" method="post" id="Personalinfo">

    <label for="fname">Όνομα:</label>
    <input type="text" id="fname" name="firstname" placeholder="Όνομα 
    Πελάτη..">

    <input type="submit" value="Submit">

    </body>
    </html>

现在我的php代码:

代码语言:javascript
复制
    <?php
    $servername = "localhost";
    $username = "username";
    $password = "";
    $dbname = "mydb";

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
   // Check connection
   if ($conn->connect_error) {
   die("Connection failed: " . $conn->connect_error);
   } 

   $sql = "INSERT INTO Guests (firstname)
   VALUES ('?')";

   if ($conn->query($sql) === TRUE) {
   echo "New record created successfully";
   } else {
   echo "Error: " . $sql . "<br>" . $conn->error;
   }

   $conn->close();
   ?>

数据不是在mysql dtb中发送的!我已经试了两天解决这个问题,但什么也没有.请帮帮忙!

你好,萨诺斯

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-31 09:41:03

代码语言:javascript
复制
       <!DOCTYPE html>
            <html>
            <head>
            <meta charset="utf-8">
            <meta http-equiv="X-UA-Compatible" content="IE=edge">
            <title>My Form</title>
            <meta name="description" content="An interactive form">
            </head>

            <body>

            <form action="test.php" method="post" id="Personalinfo">

            <label for="fname">Όνομα:</label>
            <input type="text" id="fname" name="firstname" placeholder="Όνομα 
            Πελάτη..">

            <input type="submit" name="submitForm" value="Submit">

            </body>
            </html> 
    **test.php file**
    <?php
        $servername = "localhost";
        $username = "root";
        $password = "";
        $dbname = "mydb";

        // Create connection
        $conn = new mysqli($servername, $username, $password, $dbname);
       // Check connection
       if ($conn->connect_error) {
       die("Connection failed: " . $conn->connect_error);
       } 

    if(isset($_POST['submitForm'])){
    $firstname = $_POST['firstname'];
       $sql = "INSERT INTO Guests (firstname)
       VALUES ('{$firstname}')";

       if ($conn->query($sql) === TRUE) {
       echo "New record created successfully";
       } else {
       echo "Error: " . $sql . "<br>" . $conn->error;
       }

    }else{
echo "Are you sure you enter a firstname and the name of your html submit is submitForm";
}

       $conn->close();
       ?>
票数 0
EN

Stack Overflow用户

发布于 2017-07-31 09:41:31

代码语言:javascript
复制
$sql = "INSERT INTO Guests (firstname) VALUES ('?')";

“?”是在整数、字符串、双值或blob值中替换。

你放置了“?”,但忘了用bind_param来准备它。更重要的是,您必须将$firstname值传递给$stmt->bind_param("s", $firstname);

更新代码

代码语言:javascript
复制
$firstname = $_POST['firstname'];
$sql = $conn->prepare("INSERT INTO Guests (firstname) VALUES (?)");
$sql->bind_param("s", $firstname);

if ($sql->execute() === TRUE) {

  1. 用MySQLi编写的报表
  2. 如何使用带有php的预准备语句插入mysql
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45412211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档