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的值怎么解决?
展开
 我来答
影翼视觉lyl
2014-04-24 · TA获得超过630个赞
知道小有建树答主
回答量:1279
采纳率:50%
帮助的人:683万
展开全部
这个问题很简单,主要取决于你数据保存的是中文语文还是数字1 如果数据库保存的是中文语文,数学等,那么这边的value="语文" 反之数据库中如果用1表示语文,那么这边的value="1"
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1049512488
2014-04-24 · TA获得超过329个赞
知道小有建树答主
回答量:637
采纳率:33%
帮助的人:167万
展开全部
$select2=mysql_query("select * from kemu where 科目='$_POST['opt']'");



本身语句没有错,用单引号,另外数据库字段最好不要用汉字

追问
用单引号不行,而且你的这条语句好像在DWCS6中是错的啊
追答
[ ]里面不加引号,我打错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
来自太姥山怀瑾握瑜的青金石
2014-04-24 · 超过28用户采纳过TA的回答
知道答主
回答量:62
采纳率:100%
帮助的人:49.2万
展开全部
从代码来看传值是没问题的,如果不放心可以echo $_POST['opt'];
查询语句写成$select2=mysql_query("select * from kemu where ·科目·=".$_POST['opt']);
还有表字段最好不要用中文,
更多追问追答
追问
echo出来的是语文,但一用到sql语句中就出错,中文可以用啊,我下文用中文做表字段名查询成功
追答
我写的sql语句你测试了吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Janper
2014-04-24 · TA获得超过206个赞
知道小有建树答主
回答量:469
采纳率:0%
帮助的人:139万
展开全部
你这语句有问题,

第一、你的字段名是“科目”吗?这样子应该不可以创建字段的吧,字段命名必须使用a_Z,0_9,所以你的 科目 = $post这段语句不成立,你应该使用 科目这个字段名 例如 kemu = $_post['xxx']来完成查询。注意这里的kemu你是科目所在的字段名。ID就是属于一个字段。
追问
有“科目”这个字段,而且表名是kemu,用中文是可以的啊,我上一个网页用了还成功了啊
追答
那你就在 科目两头加一个 ``键盘上1前面的键, 如 `科目`试试!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式