【问题标题】:Connect HTML form to Database将 HTML 表单连接到数据库
【发布时间】:2018-05-19 14:48:34
【问题描述】:

我需要将表单连接到我已有的数据库,但它没有连接,我似乎找不到问题所在。我出现的错误主要是“mysqli”错误,但我找不到它背后的原因

--order.php--

<!DOCTYPE html>
<html>
    <head>
        <title>Checkout</title>
        <link rel = "stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"/>
        <link rel="stylesheet" href="styles.css"/>
    </head>
    <body>
        <div class="col-sm-5 clearfix">
            <div class="bill-to">
                <h2>Bill To</h2>
                    <div class="form-one">
                    <form action="order.php" method="POST">
                    <input type="text" id="FirstName" name="FirstName" placeholder="First Name" style="width:350px; background-color:pink;"><br>
                    <input type="text" id="Surname" name="Surname" placeholder="Last Name" style="width:350px;background-color:pink;"><br>
                    <input type="text" id="HouseName" name="HouseName" placeholder="House Name" style="width:350px;background-color:pink;"><br>
                    <input type="text" id="StreetName" name="StreetName" placeholder="Street Name" style="width:350px;background-color:pink;"><br>
                    <input type="text" id="Locality" name="Locality" placeholder="Locality" style="width:350px;background-color:pink;"><br>
                    <input type="text" id="MobileNumber" name="MobileNumber" placeholder="Mobile Number" style="width:350px;background-color:pink;"><br>
                    <input type="text" id="Email" name="Email" placeholder="Email Address" style="width:350px;background-color:pink;">
                    <input type="submit" name="submit" value="Register"/>
                    </form> 


                    <?php

                        if(isset($_POST['submit']))
                        {
                        $FirstName=$_POST['FirstName']; 
                        $Surname=$_POST['Surname'];

                        $result="INSERT INTO users (FirstName,Surname) VALUES ('$FirstName','$Surname')";
                         mysqli_query($conn,$result);
                        }
                    ?>
                   </div>
            </div>
        </div>

    </body>
</html>

--connect.php-- 这是connect.php中的代码

<?php
    $user = 'root';
    $pass ='';
    $host = 'localhost';
    $db = 'webassignment';

    $conn = new mysqli($host, $user, $pass, $db);

  if ($conn -> connect_error) {
    die("Connection failed: " . $conn->connect_error);
  }
?>

【问题讨论】:

  • 你能告诉我错误是什么吗?
  • 您是否包含connect.php?您对 SQL 注入持开放态度。请添加the "mysqli" error 是什么。

标签: php database connection


【解决方案1】:

首先,只运行connect.php文件,检查是否可以成功建立连接。

if ($conn -> connect_error) {
    die("Connection failed: " . $conn->connect_error);
  }
else
    echo 'Success';

order.php 中,我找不到您调用connect.php 文件的任何地方。所以,$conn 变量在那里没有用处。

使用includerequire_once 函数调用它。

【讨论】:

    【解决方案2】:

    connect.php中的代码编辑成这样

    $conn = mysqli_connect($host, $user, $pass, $db);
    
    if(mysql_connect_errno()){
    echo "can't connect" . mysqli_connect_error();
    }
    

    并在 order.php 中将此代码放在&lt;?php

    require_once 'connect.php';
    

    【讨论】:

      【解决方案3】:

      我在order.php中发现了问题,代码是

        <?php
                              $conn = new mysqli("localhost","root",'','webassignment',3306);
      
                             if (!$conn)
                              {
                                 die('Could not connect: ' . mysql_error());
                              }
      
                              if(isset($_POST['submit']))
                              {
                              $FirstName=$_POST['FirstName']; 
                              $Surname=$_POST['Surname']; 
                              $HouseName=$_POST['HouseName']; 
                              $StreetName=$_POST['StreetName']; 
                              $Locality=$_POST['Locality']; 
                              $MobileNumber=$_POST['MobileNumber'];
                              $Email=$_POST['Email'];
                              }
      
                              $result="INSERT INTO users (FirstName,Surname,HouseName,StreetName,Locality,MobileNumber,Email) VALUES ('$FirstName','$Surname', '$HouseName','$StreetName','$Locality','$MobileNumber','$Email')";
      
                              if($conn->query($result))
                              {
                                  //echo "worked";
                              }else{
                                  //echo "Error: " .$result ."<br>". $conn->error;
                              }
      
                          ?>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-11-15
        • 1970-01-01
        • 2016-04-14
        • 1970-01-01
        • 2017-10-14
        • 1970-01-01
        • 1970-01-01
        • 2019-12-13
        相关资源
        最近更新 更多