簡體   English   中英

將用戶輸入從文本框插入數據庫(使用mysql從PHP到PHPMYADMIN)

[英]Insert user input from textbox to Database (PHP to PHPMYADMIN using 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>   

嘗試使用服務器變量添加表單操作

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

這是一個有效的代碼示例。 來自w3Schools 不建議使用mysql_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();
?>

嘗試使自己的代碼正常工作,並且作為一個初學者,不知道它已損壞,我在使用您的代碼時遇到了一些問題。 對於那些可能會在這里學習如何在數據庫中插入數據的人以及想要指出編輯此答案所導致的操作錯誤的人,我將予以忽略。

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>   

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM