我有一个奇怪的问题。
我尝试通过 PHP 脚本在 MySQL 中输入以下数据: 1. 到达(日期) 2. 出发(日期) 3. 价格(int,11)
PHP 如下:
if($_POST['formSubmit'] == "Submit")
{
$errorMessage = "";
if(empty($_POST['type']))
{
$errorMessage .= "<li>Gelieve een type in te voeren!</li>";
}
$hotel = $_POST['hotel'];
$type = $_POST['type'];
$prijs = $_POST['prijs'];
$arrival = $_POST['arrival'];
$departure = $_POST['departure'];
if(empty($errorMessage))
{
$sql = "INSERT INTO rooms (hotel, type, prijs, arrival, departure) VALUES (".
PrepSQL($hotel) . ", ".
PrepSQL($type) . ", ".
PrepSQL($arrival) . ", ".
PrepSQL($departure) . ", ".
PrepSQL($prijs) . ")";
mysql_query($sql);
include("room-insert.php");
exit();
}
}
function PrepSQL($value)
{
// Stripslashes
if(get_magic_quotes_gpc())
{
$value = stripslashes($value);
}
// Quote
$value = "'" . mysql_real_escape_string($value) . "'";
return($value);
}
HTML是这样的:
<form action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post">
<tr>
<p>
<label for='hotel'>Hotel</label><br/>
<input name="hotel" maxlength="50" value="<?=$naam;?>" />
</p>
</tr>
<tr>
<td>
<p>
<label for='type'>Type</label><br/>
<input type="text" name="type" maxlength="50" value="<?=$type;?>" />
</p>
</td>
</tr>
<tr>
<td>
<p>
<label for='prijs'>Prijs</label><br/>
<input type="text" name="prijs" maxlength="50" value="<?=$prijs;?>" />
</p>
</td>
</tr>
<tr>
<td>
<p>
<label for='arrival'>Datum check-in</label><br/>
<input type="date" name="arrival" maxlength="50" value="<?=$arrival;?>" />
</p>
</td>
</tr>
<tr>
<td>
<p>
<label for='departure'>Datum check-out</label><br/>
<input type="date" name="departure" maxlength="50" value="<?=$departure;?>" />
</p>
</td>
</tr>
<tr>
<td>
<input type="submit" name="formSubmit" value="Submit" />
</td>
</tr>
</form>
我以以下形式输入:价格(=prijs):50 到达:2012-09-12 出发:2012-09-30
这在 MySQL 中是这样的:
价格:2012 到达:2012-09-30 出发:50
于是,彻底乱了...
我在 MySQL、PHP 和 HTML 中尝试了几件事,所有结果都相同或更糟,我现在处于一个阶段,我不知道如何解决这个问题......
谢谢你的帮助!
大安