Вставка данных в базу данных 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
впрочем, то же самое.
кроме того, дайте нам знать, как вы их починили