Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在我的php代码中获取sql语法错误_Php_Mysql_Syntax Error - Fatal编程技术网

在我的php代码中获取sql语法错误

在我的php代码中获取sql语法错误,php,mysql,syntax-error,Php,Mysql,Syntax Error,我在第2行看到这样一个错误:“您的SQL语法有一个错误;请查看与您的MySQL服务器版本相对应的手册,以获得在'rs'附近使用的正确语法” 这是我的密码: <div id="main" > <form name="form1" method="POST" > <div id="input" align="center"> <table width="700" border="1"> <tr> <td>Seat Prefere

我在第2行看到这样一个错误:“您的SQL语法有一个错误;请查看与您的MySQL服务器版本相对应的手册,以获得在'rs'附近使用的正确语法”

这是我的密码:

<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>&nbsp;<select name="seat">
<option>Window Seat</option>
<option>Aisle Seat</option>
</select></td>
<td>&nbsp;<select name="zone">
<option>Smoking</option>
<option>Non-Smoking</option>
</select></td>
<td>&nbsp;<select name="meal">
<option>Vegetarian</option>
<option>Non-Vegetarian</option>
</select></td>
<td>&nbsp;<input type="text" name="medical"/></td>
<td>&nbsp;<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());

座位偏好
区
用餐偏好
医学考虑
饮食考虑
靠窗座位
靠过道的位置
吸烟
无烟区
素食主义者
非素食者

这将帮助:(最佳实践)
将查询字符串放入一个变量中,并回显该查询,以检查是否将正确的查询传递给
mysql\u Query()

在获得打印的
查询后
在phpmyadmin(或ur mysql编辑器)中运行它。

它将向您显示深层错误。

您似乎没有指出包含错误的正确代码,因为我在SQL中找不到“rs”


请确保为我们提供了正确的SQL请求。

您的错误在这一行:

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"]."') ")

如果对你有效,请尝试下面的方法

$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());

对PHP一点也不熟悉,但可以将.dnew替换为.dnewCode。编写时,将很容易受到SQL注入的攻击,这在生产应用程序中是完全不可接受的。这是因为您直接将用户输入粘贴到SQL查询中。您可能应该使用带有参数绑定的
mysqli
()。请停止使用古老的mysql_*函数编写新代码。它们不再得到维护,社区已开始恢复。相反,您应该学习准备好的语句,并使用或。如果你想学习,@Dennis所说的将解决你的问题(缺少引号),DCoder所说的是很好的建议。考虑它,即使它是一个额外的工作相同的问题“你在SQL语法中有一个错误,检查对应于你的MySQL服务器版本的手册,以便在第2行使用‘RS’附近的正确语法。”
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());