Chiranthaka Sampath Ответов: 1

Вставка данных в базу данных mysql с помощью PHP приводит к ошибке


Я пытаюсь вставить данные из HTML-формы и PHP-скрипта в базу данных MySQL.

Я могу подключиться к серверу MySQL из скрипта, но не могу подключиться к базе данных и таблице. Так что я не могу вставить данные.

Ошибка, которая срабатывает из PHP-скрипта. Ошибка такова : база данных Не выбрана !. Но я правильно назвал имя.

Здесь я загрузил полное решение .

Ниже я добавил HTML-форму и PHP-скрипт.

Не могли бы вы, пожалуйста, попытаться решить эту проблему, если это возможно.

Что я уже пробовал:

HTML-форма

<html>
<head>
    <title>Registration Form</title>
</head>
<body>
    <br>
    <h2 align="center">Register a new customer</h2>
    <h3 align="center">Fill all fields</h3>
    <form action="insertdata.php" method="post">
        <table align="center">
            <tbody><tr>
                <td>First Name:</td>
                <td><input type="text" id="fname" name="fname" /></td>
            </tr>
            <tr>
                <td>Middle Name:</td>
                <td><input type="text" id="mname" name="mname" /></td>
            </tr>
            <tr>
                <td>Last Name:</td>
                <td><input type="text" id="lname" name="lname" /></td>
            </tr>
            <tr>
                <td>NIC / Driving License No:</td>
                <td><input type="text" id="NICNo" name="nicno" /></td>
            </tr>
            <tr>
                <td>Permanent Address Name:</td>
                <td><input type="text" id="paddress" name="paddress" /></td>
            </tr>
                <tr>
                <td>E-Mail Address:</td>
                <td><input type="text" id="email" name="email" /></td>
            </tr>
                <tr>
                <td>Telephone:</td>
                <td><input type="text" id="telno" name="telno" /></td>
            </tr>
            <tr>
                <td>Mobile No:</td>
                <td><input type="text" id="mobileno" name="mobileno" /></td>
            </tr>
                <tr>
                <td>Date of Registration:</td>
                <td><input type="text" id="regdate" name="regdate" /></td>
            </tr>
                <tr><td></td></tr>
                <tr><td></td></tr>
                <tr><td></td></tr>
                <tr><td></td></tr>
                <tr><td></td></tr>
                <tr><td></td></tr>
            <tr>
            <td align="center"><input type="submit" />     <input type="reset" /></td>

            </tr>
        </tbody></table>
    </form>

  </body>


InsertData.php

<?php

$dbserver = 'localhost';
$username = 'root';
$password = '';

$dbname = 'car_rental';

$con = mysqli_connect($dbserver, $username, $password);

if(!$con)
{
    echo "Not connected to server !";
   
    
}else{
    echo "Server connected !";
 
}

if(!mysqli_select_db($con, $dbname));
{
    echo "Database not selected !";
   
}

$fname = $_POST["fname"];
$mname = $_POST["mname"];
$lname = $_POST["lname"];
$nicno = $_POST["nicno"];
$paddress = $_POST["paddress"];
$email = $_POST["email"];
$telno = $_POST["telno"];
$mobileno = $_POST["mobileno"];
$regdate = $_POST["regdate"];

$sql = "INSERT INTO new_customers (FirstName, MiddleName, LastName, NICNo, PermanentAddress, EmailAddress, Telephone, Mobile, RegDate) VALUES ('$fname','$mname','$lname','$nicno','$paddress','$email','$telno','$mobileno','$regdate')";

if (!mysqli_query($con,$sql))
{
    echo "Data not inserted !";
   
}
else
{
    echo "Data inserted !";
}

header("refresh:300; url=form.php");

?>


Спасибо!

Mohibur Rashid

попробуйте вызвать функцию mysqli_select_db

Chiranthaka Sampath

Привет Рашид,

Спасибо за совет, но я уже объявил функцию mysqli_select_db (). Пожалуйста, обратитесь к 'InsertData.php'

Peter Leow

Вы проверили, что эта база данных "car_rental" действительно существует?

Mohibur Rashid

вместо Эха "база данных Не выбрана !" вызовите mysqli_error, как предложил CPallini. Кроме того, ваше сообщение неверно. Но мое предположение будет таким же, как у Питера Леоу, ваша база данных не существует или, по крайней мере, ваше имя базы данных написано неправильно

Mohibur Rashid

если это все еще не работает, просто запустите это
mysqli_query($con, "USE $dbname"); а затем используйте mysqli_error

впрочем, то же самое.

кроме того, дайте нам знать, как вы их починили

1 Ответов

Рейтинг:
0

CPallini

Я бы позвонил mysqli_error($con)) для того, чтобы получить дополнительную информацию.