简体   繁体   English

如何从表单中获取信息以使用XAMPP插入mySQL数据库?

[英]How do I get the information from my form to insert into a mySQL database using XAMPP?

So far, I've gotten my PHP to output my form data to another page once it has been input. 到目前为止,一旦输入了PHP,我就已经将PHP的表单数据输出到另一个页面。 After it has been submitted, I need the data to be inserted into a mySQL database titled 'megatravel'. 提交后,我需要将数据插入名为“ megatravel”的mySQL数据库中。 I am getting errors ie "Table 'megatravel.reservations' doesn't exist" and another one "Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, bool given in C:\\xampp1\\htdocs\\JordanMahsman-MegaTravel2\\contactform.php on line 111" 我收到错误消息,即“表'megatravel.reservations'不存在”,而另一个错误消息“警告:mysqli_fetch_assoc()期望参数1为mysqli_result,在C:\\ xampp1 \\ htdocs \\ JordanMahsman-MegaTravel2 \\ contactform.php中给出布尔值在第111行”

I am using XAMPP and have been to localhost/phpmyadmin to create the database 'megatravel' and to create the table 'reservations' but I am getting errors, and I need help. 我正在使用XAMPP,并且曾经去过localhost / phpmyadmin创建数据库“ megatravel”并创建表“ reservations”,但是我遇到了错误,需要帮助。

<?php

$required = array('name', 'email', 'phone', 'adultsNo', 'children', 'city', 'activity', 'date');

$error = false;
foreach($required as $field) {
if (!isset($_POST[$field])) {
       $error = true; 
    }
    }

if(!$error){
   if(!(is_numeric($_POST['phone']) && is_numeric($_POST['adultsNo']) && is_numeric($_POST[
   'children']))){
       $error=true;
       echo "Numeric entries are required for Phone Number, No.of Adults, and No.of Children<br>";
   }
}

if(!$error){
    if(!validateEmail($_POST['email']))
    {
        $error=true;
        echo "Not a valid Email Address. Please try again.<br>";
    }
 }

if(!$error){
   if(!validateDate($_POST['traveldate'])){
           $error=true;
       echo "Not a valid date. Please try again.<br>";
   }
}

if (!$error) {
echo "All fields are required.</br>";
} else {
    echo "Hello, a client has submitted their information for you to review! <br>";

    echo "<br>Name: ".$_POST['name']."
    <br></br>
    Email: ".$_POST['email']."
    <br></br>
    Phone Number: ".$_POST['phone']."
    <br></br>
    No. of Adults: ".$_POST['adultsNo']."
    <br></br>
    No. of Children: ".$_POST['children']."
    <br></br>
    City: ".$_POST['city']."
    <br></br>
    Activity: ".$_POST['activity']."
    <br></br>
    Date: ".$_POST['traveldate'];
    }

    function validateEmail($email) {
        // Validate email
       if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
           return 1;
       } else {
           return 0;
       }
    }

    function validateDate($traveldate, $format = 'Y-m-d')
    {
        $d = DateTime::createFromFormat($format, $traveldate);
        return $d && $d->format($format) === $traveldate;
    }
// DATABASE CREATION AND INSERTION

$servername = "localhost";
$username = 'root';
$password = '';
$dbname = 'megatravel';

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Failed to Connect: " . $conn->connect_error);
}

$sql = "CREATE DATABASE megatravel";
if ($conn->query($sql) === TRUE) {
    echo "Database created!";
} else {
    echo "A problem occurred creating your database. Try again!: " . $conn->error;
}

$sql = "INSERT INTO reservations (name, email, phone, adultsno, children, city, activity, date)
VALUES ('{$_POST['name']}', '{$_POST['email']}','{$_POST['phone']}','{$_POST['adultsNo']}', '{$_POST['children']}',
 '{$_POST['city']}', '{$_POST['activity']}', '{$_POST['traveldate']}')";

if ($conn->query($sql) === TRUE) {
    echo "<br><br>Success!<br>";
} else {
    echo "<br>Error: " . $sql . "<br>" . $conn->error;
}

$sql = "SELECT * FROM reservations";
$result = mysqli_query($conn, $sql);
echo "<br>";
echo "<table border='1'>";
echo "<tr>";
echo "<td style='text-align: center; font-weight: bold'>Name</td>","<td style='text-align: center; font-weight: bold'>Email</td>","<td style='text-align: center; font-weight: bold'>Phone</td>","<td style='text-align: center; font-weight: bold'>Adults</td>","<td style='text-align: center; font-weight: bold'>Children</td>","<td style='text-align: center; font-weight: bold'>City</td>","<td style='text-align: center; font-weight: bold'>Activity</td>","<td style='text-align: center; font-weight: bold'>Date</td>";
echo "</tr>";


while ($row = mysqli_fetch_assoc($result)) { 
    echo "<tr>";
    foreach ($row as $field => $value) { 
        echo "<td>" . $value . "</td>"; 
    }
    echo "</tr>";
}
echo "</table>";


$conn->close();

?>

You only need to create the database once. 您只需要创建一次数据库。

The error message is telling you that the reservations table needs creating. 错误消息告诉您需要创建保留表。

CREATE TABLE reservations (
   name VARCHAR(250),
   email varchar(100)
)

It helps to use a SQL utility to manage the DB. 它有助于使用SQL实用程序来管理数据库。 and to play attention to any error messages SQL throws. 并注意SQL引发的任何错误消息。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何将信息从html表单发送到MySql数据库(XAMPP) - How to send information from a html form to a MySql database (XAMPP) 如何使用带有mysqli和php的准备好的语句成功地将信息从表单插入数据库? - How do I successfully insert information from a form into a database using a prepared statement with mysqli and php? 如何使用PHP从表单中插入mySQL数据库中的数据? - How do I insert data in a mySQL database from a form using PHP? 如何使用PDO从数据库获取信息? - How do I get information from a database using PDO? 我如何从数据库中获取信息,就像我将数据与存储的信息插入数据库中以更新数据库一样 - How can I get the information form the database as the same form as I insert the data on it with the stored information in order to update it 如何将表单数据插入phpmyadmin数据库? - How do I insert my form datas into my phpmyadmin database? 如何将HTML表单插入MySQL数据库? - How do I insert an HTML form into a MySQL Database? 我为什么不能(或如何)使用WordPress API将NULL值插入我的MySQL数据库中 - Why can't I — or how do I — insert NULL values into my MySQL database using the WordPress API 如何将表单数据插入数据库 - How do I insert form data into my database 您好,我如何将 API 响应插入我的 MySQL 数据库 - Hello how do I insert API response into my MySQL database
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM