php中post传的值怎么用于sql查询?
第一个网页:<formname="form"method="post"action="2.php"><selectname="opt"id="opt"><optionva...
第一个网页:
<form name="form" method="post" action="2.php">
<select name="opt" id="opt">
<option value="语文"></option>
</select>
<input name="" type="submit" value="提交" />
</form>
第二个网页:
$select2=mysql_query("select * from kemu where 科目=".$_POST['opt']." ");
$row1=mysql_fetch_array($select2);
这条语句查询失败,但将科目=".$_POST['opt']."换成id=1可以查询,post传的值有什么问题吗?要用post的值怎么解决? 展开
<form name="form" method="post" action="2.php">
<select name="opt" id="opt">
<option value="语文"></option>
</select>
<input name="" type="submit" value="提交" />
</form>
第二个网页:
$select2=mysql_query("select * from kemu where 科目=".$_POST['opt']." ");
$row1=mysql_fetch_array($select2);
这条语句查询失败,但将科目=".$_POST['opt']."换成id=1可以查询,post传的值有什么问题吗?要用post的值怎么解决? 展开
4个回答
展开全部
这个问题很简单,主要取决于你数据保存的是中文语文还是数字1 如果数据库保存的是中文语文,数学等,那么这边的value="语文" 反之数据库中如果用1表示语文,那么这边的value="1"
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$select2=mysql_query("select * from kemu where 科目='$_POST['opt']'");
本身语句没有错,用单引号,另外数据库字段最好不要用汉字
追问
用单引号不行,而且你的这条语句好像在DWCS6中是错的啊
追答
[ ]里面不加引号,我打错了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
从代码来看传值是没问题的,如果不放心可以echo $_POST['opt'];
查询语句写成$select2=mysql_query("select * from kemu where ·科目·=".$_POST['opt']);
还有表字段最好不要用中文,
查询语句写成$select2=mysql_query("select * from kemu where ·科目·=".$_POST['opt']);
还有表字段最好不要用中文,
更多追问追答
追问
echo出来的是语文,但一用到sql语句中就出错,中文可以用啊,我下文用中文做表字段名查询成功
追答
我写的sql语句你测试了吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这语句有问题,
第一、你的字段名是“科目”吗?这样子应该不可以创建字段的吧,字段命名必须使用a_Z,0_9,所以你的 科目 = $post这段语句不成立,你应该使用 科目这个字段名 例如 kemu = $_post['xxx']来完成查询。注意这里的kemu你是科目所在的字段名。ID就是属于一个字段。
第一、你的字段名是“科目”吗?这样子应该不可以创建字段的吧,字段命名必须使用a_Z,0_9,所以你的 科目 = $post这段语句不成立,你应该使用 科目这个字段名 例如 kemu = $_post['xxx']来完成查询。注意这里的kemu你是科目所在的字段名。ID就是属于一个字段。
追问
有“科目”这个字段,而且表名是kemu,用中文是可以的啊,我上一个网页用了还成功了啊
追答
那你就在 科目两头加一个 ``键盘上1前面的键, 如 `科目`试试!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询