我收到的错误是“您的SQL语法出错;请查看与您的MySQL服务器版本对应的手册,以便在第2行附近使用正确的语法”
这是我的代码:
<div id="main" >
<form name="form1" method="POST" >
<div id="input" align="center">
<table width="700" border="1">
<tr>
<td>Seat Preference</td>
<td>Zone</td>
<td>Meal Preference</td>
<td>Medical Considerations</td>
<td>Dietary Considerations</td>
</tr>
<tr>
<td> <select name="seat">
<option>Window Seat</option>
<option>Aisle Seat</option>
</select></td>
<td> <select name="zone">
<option>Smoking</option>
<option>Non-Smoking</option>
</select></td>
<td> <select name="meal">
<option>Vegetarian</option>
<option>Non-Vegetarian</option>
</select></td>
<td> <input type="text" name="medical"/></td>
<td> <input type="text" name="dietary"/></td>
</tr>
</table>
</div>
<div id="button" align="center" >
<input type="submit" value="Take Fare and Proceed" name="submit"/>
</div>
</form>
<?php
mysql_connect("127.0.0.1","root","");
mysql_select_db("cmc");
if (isset($_POST["submit"]))
{
$r=mysql_query("select * from reservation where transid=".$_REQUEST["id"].""); $d=mysql_fetch_assoc($r);
then query is::
mysql_query("INSERT INTO
manifest(`day`,`month`,`year`,`class`,`sector`,`seat`,`zone`,`meal`,`medical`,`dietary`,`fare`)
VALUES(".$d["day"].",'".$d["month"]."','".$d["year"]."','".$d["class"]."','".$d["sector"]." ','".$_POST["seat"]."','".$_POST["zone"]."','".$_POST["meal"]."','".$_POST["medical"]."','" .$_POST["dietary"]."',".$d["fare"].")
") or die(mysql_error());
进一步的代码是:
header("Location: print.php");
$dnew=$d["availibilty"]-1;
mysql_query("update reservation set availibility=".$dnew."");
header("Location: print.php");
}
?>
</div>
我无法找到错误。这是用于航空公司在线预订的PHP代码
答案 0 :(得分:1)
您的错误就在这一行:
mysql_query("INSERT INTO
manifest(`day`,`month`,`year`,`class`,`sector`,`seat`,`zone`,`meal`,`medical`,`dietary`,`fare`)
VALUES(".$d["day"].",'".$d["month"]."','".$d["year"]."','".$d["class"]."','".$d["sector"]." ','".$_POST["seat"]."','".$_POST["zone"]."','".$_POST["meal"]."','".$_POST["medical"]."','" .$_POST["dietary"]."',".$d["fare"].")
")
注意它的最后一位看起来像这样:
"',".$d["fare"].") ")
但是价值没有引号。所以你需要把它改成:
"','".$d["fare"]."') ")
答案 1 :(得分:0)
如果适合您,请尝试以下。
$r=mysql_query("select * from reservation where transid='".$_REQUEST['id']."'"); $d=mysql_fetch_assoc($r);
修改强>
mysql_query("INSERT INTO
manifest(`day`,`month`,`year`,`class`,`sector`,`seat`,`zone`,`meal`,`medical`,`dietary`,`fare`)
VALUES('".$d['day']."','".$d['month']."','".$d['year']."','".$d['class']."','".$d['sector']." ','".$_POST['seat']."','".$_POST['zone']."','".$_POST['meal']."','".$_POST['medical']."','" .$_POST['dietary']."','".$d['fare']."')") or die(mysql_error());
答案 2 :(得分:-1)
这将帮助 :(最佳做法)
将查询字符串放入变量,然后回显查询以检查是否将正确的查询传递给mysql_query()
。
在phpmyadmin(或你的mysql编辑器)中获得Query
打印run it
之后。
它会告诉你深层次的错误。
答案 3 :(得分:-1)
似乎你没有指出包含错误的正确代码,因为我在你的SQL中找不到“rs)”。
确保为我们提供正确的SQL请求。