Php 无法在数据库中插入必填字段
我在第一篇文章中不清楚。就是这样 reservation.phpPhp 无法在数据库中插入必填字段,php,mysql,database,insert,Php,Mysql,Database,Insert,我在第一篇文章中不清楚。就是这样 reservation.php <table style="border: 4px;"> <tr> <!-- Start JQuery Pop-up --> <script src="js/jquery.js" type="text/javascript"></script> <script src="popup2
<table style="border: 4px;">
<tr>
<!-- Start JQuery Pop-up -->
<script src="js/jquery.js" type="text/javascript"></script>
<script src="popup2.js" type="text/javascript"></script>
<td style="border: 2px solid #000;"><center><img src="images/comp.jpg" height="30" width="50"><br /><b><div id="button"><a href="#" class="pcbutton">PC 05</a></div></b></center>
</td>
<!-- Jquery Pop-Up code starts here including the insert query -->
<?php
echo '<div id="popupContact">';
echo '<a id="popupContactClose">x</a>';
echo '<center><form method = "POST" action="reserve.php">';
mysql_connect("localhost","root","") or die (mysql_error());
mysql_select_db('seat_reservation') or die (mysql_error());
$roomNumber = '400';
$chairNumber = 5;
//In this part, I try to insert in the database without submitting the form yet.
$insert = mysql_query("INSERT INTO reservation (chair_status, room_id, chair_number) VALUES (0, '$roomNumber', '$chairNumber')");
//I'm trying to retrieve the inserted data and do the checking.
$query = mysql_query("SELECT * FROM reservation WHERE room_id = '$roomNumber' AND chair_number = '$chairNumber'");
$row = mysql_fetch_assoc($query);
$_SESSION['roomno'] = $row['room_id'];
$_SESSION['chairnum'] = $row['chair_number'];
echo '<h1>Information </h1>';
echo 'Fullname : <input type="text" name="student_name" /><br /><br />';
echo 'Student ID No. : <input type="text" name="stud_id" />';
echo '<br /><br />';
echo '<input type="submit" value="Submit" />';
echo '</form></center>';
echo '</div>';
echo '<div id="backgroundPopup"></div>';
?>
<!-- End JQuery Pop-up -->
<td style="border: 2px solid #000;"><center><img src="images/comp.jpg" height="30" width="50"><br /><div id="button2"><a href="#" class="pcbutton"><b>PC 04</b></a></div></center>
</td>
//This is another table that's exactly the same from the code above only that this has a different PC number
<?php
echo '<div id="popupContact">';
echo '<a id="popupContactClose">x</a>';
echo '<center><form method = "POST" action="reserve.php">';
mysql_connect("localhost","root","") or die (mysql_error());
mysql_select_db('seat_reservation') or die (mysql_error());
$roomNumber = '400';
$chairNumber = 4;
$insert = mysql_query("INSERT INTO reservation (chair_status, room_id, chair_number) VALUES (0, '$roomNumber', '$chairNumber')");
$query = mysql_query("SELECT * FROM reservation WHERE room_id = '$roomNumber' AND chair_number = '$chairNumber'");
$row = mysql_fetch_assoc($query);
$_SESSION['roomno'] = $row['room_id'];
$_SESSION['chairnum'] = $row['chair_number'];
echo '<h1>Information </h1>';
echo 'Fullname : <input type="text" name="student_name" /><br /><br />';
echo 'Student ID No. : <input type="text" name="stud_id" />';
echo '<br /><br />';
echo '<input type="submit" value="Submit" />';
echo '</form></center>';
echo '</div>';
echo '<div id="backgroundPopup"></div>';
?>
你的代码有点不完整。不要单独使用mysql\u查询
。包括额外的代码以捕获错误或在插入数据时发生错误时显示输出
$insert = mysql_query("INSERT INTO reservation (chair_status, room_id, chair_number) VALUES (0, 400, 5)");
// I added the below lines to catch how many rows were inserted and if not, what error occured
$inserted_rows = mysql_affected_rows();
if ($inserted_rows !=0)
echo 'Error occurred, through out error'. mysql_error();
首先,请为“提交”按钮命名,以便您可以使用它检查表单是否已提交:
if($_POST['name_of_your_submit_button']){
//mysql insert code here
}
我看不出您是否真的在insert查询中使用了用户输入的数据:
$insert = mysql_query("INSERT INTO reservation (chair_status, room_id, chair_number) VALUES (0, 400, 5)");
确保通过使用诸如print\r或var\u dump之类的调试代码获得一些值
print_r($_POST);
这是你的完整代码吗?我在您的任何SQL语句中都找不到student\u name
和student\u id
。这是一个表,对吗?我希望看到一些循环,但没有看到任何循环。你介意把代码分开吗,或者在弹出部分加上注释,然后在表中加上代码,因为这有点让人困惑。而且你已经注释掉了很多代码,你介意删除你实际上没有使用的代码吗?也许最好停止回答这个问题,因为OP已经将其替换为。
print_r($_POST);