【发布时间】:2022-01-03 09:12:53
【问题描述】:
我在 phpmyadmin 中运行此代码时遇到问题。它没有在 RESERVATIONS 表中存储任何内容。我花了几个小时试图弄清楚这一点。我尝试在 phpmyadmin 中手动输入查询,这很成功。但是,在 php 文件中运行它是另一回事。该表称为 RESERVATIONS,它有列:
image of table RESERVATIONS columns
<?php
require 'dbconfig/config.php';
?>
<!DOCTYPE html>
<html>
<head>
<title>Registration Page</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body style="background-color:#bdc3c7">
<div id="main-wrapper">
<center>
<h2>Registration Form</h2>
<form class="GuestForm">
<label for="fname">First Name:</label>
<input type="text" name="fname" id="fname" required>
<hr>
<label for="lname">Last Name:</label>
<input type="text" name="lname" id="lname" required>
<hr>
<label for="phoneNum">GuestPhone:</label>
<input type="text" name="phoneNum" id="phoneNum" required>
<hr>
<label for="emailaddr">GuestEmail:</label>
<input type="text" name="emailaddr" id="emailaddr" required>
<hr>
<label for="dateNtime">DateTime:</label>
<input type="text" name="dateNtime" id="dateNtime" required>
<hr>
<label for="partySize">Party Size:</label>
<input type="number" name="partySize" id="partySize" min="0" max="10" required>
<input name="submit_btn" type="submit" id="signup_btn" value="Create Reservation"/><br>
</form>
<?php
if(isset($_POST['submit_btn']))
{
echo '<script type="text/javascript"> alert("Submit button clicked") </script>';
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$phoneNum = $_POST['phoneNum'];
$emailaddr = $_POST['emailaddr'];
$dateNtime = $_POST['dateNtime'];
$partySize = $_POST['partySize'];
$query = "SELECT dateNtime from RESERVATIONS WHERE dateNtime = '$dateNtime'";
$query_run = mysqli_query($con,$query);
//$length = mysql_field_len(username, 0);
if(mysqli_num_rows($query_run)>0)
{
// There is already a reservation for that particular date and time
echo '<script type="text/javascript"> alert("There is already a reservation for that particular date and time") </script>';
}
else{
$result = mysqli_query($conn, 'SELECT SUM(table_size) AS value_sum FROM DININGTABLES WHERE occupied = 0');
$row = mysqli_fetch_assoc($result);
$sum = $row['value_sum'];
echo $sum;
$query = "INSERT into RESERVATIONS(reservation_id, registered_user, username, fname,lname,phoneNum, emailaddr, dateNtime, partySize) values('NULL', 'NULL', 'NULL','$fname','$lname', '$phoneNum', '$emailaddr', '$dateNtime', '$partySize')";
$query_run = mysqli_query($con,$query);
if($query_run)
{
echo '<script type="text/javascript"> alert("Reservation created but not really") </script>';
}
else
{
echo '<script type="text/javascript"> alert("Error!") </script>';
}
}
}
?>
</center>
</div>
</body>
</html>
这不是公开的事情,只是为了学校项目。我不关心安全性,因为它不会被部署
【问题讨论】:
-
提交表单后的结果是什么?警报错误?还是创建了警报预留?如果出现错误,请使用
mysqli_error($con);显示错误详细信息。 -
你有 $con 和 $conn。 (您是否使用两个不同的数据库连接?)。尝试将 $con 更改为 $conn(反之亦然)
-
是的,我改变了它们。目前,我只关心将数据放入表中。
-
我应该提到
<?php require 'dbconfig/config.php'; ?>正在工作 -
是的,我更改了它们 - 请修改您的代码以反映更改,以便我们进一步检查。