【问题标题】:Insert user input from textbox to Database (PHP to PHPMYADMIN using mysql)将用户输入从文本框插入到数据库(使用 mysql 的 PHP 到 PHPMYADMIN)
【发布时间】:2016-06-19 04:44:18
【问题描述】:

你们如何使用 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>   

【问题讨论】:

  • 从字段名称中删除方括号并尝试可能会有所帮助
  • 好的,我现在试试
  • @AmitChauhan 它工作..哈哈傻我。一个简单的错误让我压力很大

标签: php html mysql database


【解决方案1】:

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

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

【讨论】:

  • 您的第一条评论有效。现在正在将文本框中的数据插入到数据库中..
  • 您还必须将服务器变量投入使用并欢迎您
【解决方案2】:

这是一个有效的代码示例。 From w3Schoolsmysql_connect 已弃用,new mysqli 有效。

<?php
$servername = "localhost";
$username = "username";
$password = "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 MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";

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

$conn->close();
?>

在尝试让您的代码正常工作后,作为一个不知道它已损坏的初学者,我在使用您的代码时遇到了一些问题。我把这个留给任何可能最终在这里学习如何在数据库中插入数据的人,以及任何想要指出 OP 通过编辑这个答案所犯的错误的人。

【讨论】:

    【解决方案3】:
    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>   
    

    【讨论】:

    • 那是一段很长的代码,没有任何解释。如果您添加一些解释为什么您的代码是一个好的答案并帮助他们理解,这将有助于读者。仅代码答案被认为是不礼貌的。
    猜你喜欢
    • 2017-08-10
    • 2013-08-26
    • 2015-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-15
    • 2014-12-06
    • 2017-08-25
    相关资源
    最近更新 更多