将用户输入从文本框插入到数据库(PHP 到 PHPMYADMIN 使用 mysql)

新手上路,请多包涵

你们如何使用mysql将用户输入从文本框(html/php)插入到数据库(phpmyadmin)

我不断收到错误“无法插入”是我的代码缺少某些内容。

我确实在网上搜索了如何修复它,但没有任何效果。我认为我的代码中缺少某些东西,我无法指出它。

以下所有文件都在 1 个名为 index.php 的 php 文件中

<!DOCTYPE html>
 <?php

$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = '';
$db = 'dad_trading';

$dbconn = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($db);

if (isset($_POST['submit']))
{
    $Lastname   = $_POST['LastName'];
    $firstname  = $_POST['FirstName'];
    $Middlename = $_POST['MiddleName'];
    $address    = $_POST['Address'];
    $city       = $_POST['City'];
    $zipcode    = $_POST['ZipCode'];
    $email      = $_POST['email'];
    $number     = $_POST['number'];

     $query = ("INSERT INTO customer ([LName], [FName], [MName], [Street], [City], [ZipCode], [Email], [ContactNo]) VALUES ('$Lastname', '$firstname', '$Middlename', '$address', '$city','$zipcode', '$email', '$number')");

if(mysql_query($query))
 {
echo "<script>alert('INSERTED SUCCESSFULLY');</script>";
}
else
 {
 echo "<script>alert('FAILED TO INSERT');</script>";
 }

 }
?>

<html>
    <head>
        <meta charset="UTF-8">
        <title>sample</title>
    </head>
    <body>
        <form action="" method = "POST">

   First name:
  &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
  Middle Name:
  &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
  Last Name:<br>
  <input name="FirstName" size="15" style="height: 19px;"  type="text" required>
      &nbsp; &nbsp; &nbsp;
  <input name="MiddleName" size="15" style="height: 19px;"  type="text" required>
      &nbsp; &nbsp; &nbsp;
  <input name="LastName" size="15" style="height: 19px;"  type="text" required>

  <br><br>

    Email Address:<br>
  <input name="email"  type="text" required placeholder="Enter A Valid Email Address" style="height: 19px;" size="30"><br><br>

  Home Address: <br>
  <input name="Address" type="text" required placeholder="Enter your home Address" style="height: 19px;" size="30" maxlength="30"><br><br>

  City:
   &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;
  Zipcode:
   <br>
  <input name="City" size="7" style="height: 19px;"  type="text" required>
    &nbsp; &nbsp;
    <input name="ZipCode" size="7" style="height: 19px;"  type="text" required>
    <br><br>

  Telephone/Mobile Number: <br>
  <input name="number" type="text" required id="number" placeholder="Mobile Number" style="height: 19px;">

<br>
<br>

<button type ="submit" name="submit" value="send to database"> SEND TO DATABASE </button>
</form>
    </body>
</html>

原文由 Darren Dominic Ibabao 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 306
2 个回答

尝试使用服务器变量添加表单操作

<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">

原文由 Amit Chauhan 发布,翻译遵循 CC BY-SA 3.0 许可协议

I fixed the OP for my purposes, and it worked for me. Goal was to create database entries from a web form for some testing.

<html>
        <head>
            <meta charset="UTF-8">
            <title>sample</title>
        </head>

        <?php
    //These $variables related to the form data html elements eg "<input
    //name="City"" input name=values, case sensitive which are derived from
    //the //form submit with POST type, from the form at the end of this code
    //block.
        if (isset($_POST['submit']))
        {
            $Lastname   = $_POST['LastName'];
            $firstname  = $_POST['FirstName'];
            $Middlename = $_POST['MiddleName'];
            $address    = $_POST['Address'];
            $city       = $_POST['City'];
            $zipcode    = $_POST['ZipCode'];
            $email      = $_POST['email'];
            $number     = $_POST['number'];

    //This is the sql query to apply the form inpur field values into the
    database //from the user form in the web page. There is no validation
    checking, which //an example at TutorialRepublic for CRUD and php...:

    https://www.tutorialrepublic.com/php-tutorial/php-mysql-crud-
   application.php

    //...Is really much more thorough.

            $con = mysqli_connect('localhost','root','Levaral','test');
            $query = "INSERT INTO customer (LastName, FirstName, MiddleName,
      Address, City, Zipcode, email, number) VALUES (" . " '" . $Lastname .
    "', '" . $firstname . "', '" . $Middlename . "', '" . $address . "', '" .
    $city . "', '" . $zipcode . "', '" . $email . "', '" . $number . "')";
            if (mysqli_query($con,$query))
                {
                echo "<script>alert('INSERTED SUCCESSFULLY');</script>";
                }
                else
                {
                echo "<script>alert('FAILED TO INSERT');</script>";
                }

                }
                ?>

    <body>
    //put html element data in a <form> so you can send the data here by POST
    //type, this stumped me
    //at first when I was starting.
    //I guess since the form is in the same page, it is available to the PHP
    //function as some default.

    <form action="" method = "POST">

    First name:
    &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
    &nbsp;
    Middle Name:
    &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
    Last Name:<br>
    <input name="FirstName" size="15" style="height: 19px;"  type="text" required>
    &nbsp; &nbsp; &nbsp;
    <input name="MiddleName" size="15" style="height: 19px;"  type="text" required>
    &nbsp; &nbsp; &nbsp;
    <input name="LastName" size="15" style="height: 19px;"  type="text" required>
    <br><br>

    Email Address:<br>
    <input name="email"  type="text" required placeholder="Enter A Valid Email Address" style="height: 19px;" size="30"><br><br>

    Home Address: <br>
    <input name="Address" type="text" required placeholder="Enter your home Address" style="height: 19px;" size="30" maxlength="30"><br><br>

    City:
    &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;
    Zipcode:
    <br>
    <input name="City" size="7" style="height: 19px;"  type="text" required>
    &nbsp; &nbsp;
    <input name="ZipCode" size="7" style="height: 19px;"  type="text" required>
    <br><br>

    Telephone/Mobile Number: <br>
    <input name="number" type="text" required id="number" placeholder="Mobile Number" style="height: 19px;">

    <br>
    <br>

    <button type ="submit" name="submit" value="send to database"> SEND TO DATABASE </button>
    </form>

    //This part below was just for my feedback to see if it worked by
    //returning some //data from the query, as in progress to have an edit
    //area
    //on the same page //without affecting the original if my mind serves me
    //right.

        <?php
        /////

        mysqli_select_db($con,"customer");
        $sql="SELECT * FROM customer WHERE FirstName = '".$firstname."'";
        $result = mysqli_query($con,$sql);

        echo "<table>
        <tr>
        <th>Firstname</th>
        <th>Lastname</th>
        <th>City</th>
        <th>Email</th>
        <th>Number</th>
        </tr>";
        while($row = mysqli_fetch_array($result)) {
        echo '<tr style="width:20%">';
            echo '<td style="width:20%">' . $row['FirstName'] . "</td>";
            echo '<td style="width:20%">' . $row['LastName'] . "</td>";
            echo '<td style="width:20%">' . $row['City'] . "</td>";
            echo '<td style="width:20%">' . $row['email'] . "</td>";
            echo '<td style="width:20%">' . $row['number'] . "</td>";
            echo "</tr>";
        }
        echo "</table>";
        mysqli_close($con);
        ?>

    </body>
    </html>

原文由 SkyscraperFX 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题