Я пишу код php, чтобы вставить личную информацию о клиенте в одну таблицу с именем «bookings», а его забронированные места - в другую таблицу с именем «bookseat» в той же базе данных, в том же файле php. Когда код выполняется личная информация хранится в соответствующей таблице, но забронированные места не сохраняются. Когда я вставляю значение вручную в таблицу книжного сиденья, я вижу, что, хотя предыдущие значения из файла php не сохраняются, некоторые из них были сохранены записи, которые не отображаются (поскольку столбец с автоинкрементом (sid) в таблице, по-видимому, увеличился).
А вот и мой php-код.
$servername = "localhost";
$username = "root";
$password = "";
$db = "titan3d";
$name = $_SESSION['name'];
$nic = $_SESSION['nic'];
$email = $_SESSION['email'];
$teleno = $_SESSION['teleno'];
$sdate = $_SESSION['sdate'];
$stime = $_SESSION['stime'];
$now = $_SESSION['now'];
$bookseat = array(11, 18, 12);
$arrlength = count($bookseat);
if(isset($_POST['name']))
{
$name = $_POST["name"];
}
if(isset($_POST['nic']))
{
$nic = $_POST["nic"];
}
if(isset($_POST['email']))
{
$email = $_POST["email"];
}
if(isset($_POST['teleno']))
{
$teleno = $_POST["teleno"];
}
if(isset($_POST['sdate']))
{
$sdate = $_POST["sdate"];
}
if(isset($_POST['stime']))
{
$stime = $_POST["stime"];
}
if(isset($_POST['now']))
{
$now = $_POST["now"];
}
$conn = new mysqli($servername, $username, $password, $db);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO bookings (name, nic, email, teleno, sdate, stime)
VALUES ('$name', '$nic', '$email', '$teleno', '$sdate', '$stime')";
for($i = 0; $i < count($bookseat); ++$i){
$SQL_project_has_type = "INSERT INTO bookseat (seat, bid)
VALUES({$bookseat[$i]}, $now)";
mysqli_query($conn, $SQL_project_has_type);
}
if ($conn->query($sql) === TRUE) {
header('Location: http://localhost/My%20Project/booksuccess.html');
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
Здесь что-то не так? Может кто-нибудь уладит это для меня?