我有一个正在开发的汽车租赁系统。当用户租车时,系统首先要检查可用汽车的数量是否大于0,如果是,则调整“AVAILABLE = AVAILABLE+1”(在MySQL跟踪汽车的表中),即意思是把车租给用户。另外,我正在尝试记录哪辆车去了哪个用户。所以我有另一个名为rentalrecords 的数据库表,它接收登录用户的用户名和租用汽车的ID 的值。现在,问题是,我的“IF-ELSE”部分没有按预期执行。
<div id="stylized" class="myform">
<form id="form" name="form" method="POST" action="renting.php" >
<h1>Rent a Car</h1>
<label>Car ID
<span class="small">eg. Enter 1 for Mer1</span>
</label>
<input type="text" name="ID" id="ID" />
<input type="submit" style="margin:30px 100px;" name="submit" value="Check-Out">
<div class="spacer"></div>
</form>
</div>
现在,renting.php这个表单的动作如下:
<?php
session_start();
if(!session_is_registered(theUSERNAME)){
header("location:customer_login.php");
}
mysql_CONNECT("xx", "xx", "xx") OR DIE("Unable to connect");
mysql_SELECT_DB("xx") OR DIE("Unable to select database");
$ID = $_POST['ID'];
$result = mysql_query("SELECT AVAILABLE FROM car WHERE ID='$ID'");
if(mysql_fetch_array($result)>0)
{
$query="UPDATE car SET AVAILABLE=AVAILABLE-1 WHERE ID='$ID'";
mysql_query($query);
$query = "insert into rentalrecords (USERNAME,ID,RENTED_ON) values ('$_SESSION[theUSERNAME]','$_POST[ID]',CURDATE())";
$result = mysql_query($query);
header("location: list_Clogged.php");
}
else
{
echo "<script>alert('The car you chose is currently unavailable!'); location.href='rent.php';</script>";
}
?>
即使我有 available=0,它仍然没有执行 else 部分,无论如何,它总是执行 IF 部分。ID 和 AVAILABLE 是我的名为“汽车”的 MySQL 表和出租记录表的属性,我只想插入这些值。我知道该脚本目前很容易被注入,但首先我想让事情正常工作!任何即时帮助将不胜感激。