Подключить HTML-форму к базе данных

Мне нужно подключить форму к базе данных, которая у меня уже есть, но она не подключается, и я не могу найти проблему. Я чаще всего появляется ошибка "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);
  }
?>

Не могли бы вы также сказать, в чем ошибка?

Siddharth Chaudhery 19.05.2018 16:50

Вы включали connect.php? Вы открыты для инъекций SQL. Добавьте, пожалуйста, что такое the "mysqli" error.

user3783243 19.05.2018 16:56
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
2
7 255
3

Ответы 3

Сначала запустите только файл connect.php, чтобы проверить, можно ли успешно установить соединение.

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

В order.php я не могу найти нигде, что вы назвали файлом connect.php. Так что переменная $conn здесь ни к чему.

Вызовите его с помощью функции include или require_once.

отредактируйте код в connect.php, чтобы он был таким

$conn = mysqli_connect($host, $user, $pass, $db);

if (mysql_connect_errno()){
echo "can't connect" . mysqli_connect_error();
}

и в order.php поместите этот код под <?php

require_once 'connect.php';

Я нашел проблему в 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;
                        }

                    ?>

Другие вопросы по теме