php表单提交但是不能取得值,望高手指教~~~
输入想找的学生信息,也就是按学生的姓名或者学号来查找,但是表达提交的信息根本就没有办法传值,但是$sql="SELECT*FROMchengjiWHERExingming...
输入想找的学生信息,也就是按学生的姓名或者学号来查找,但是表达提交的信息根本就没有办法传值,但是$sql="SELECT * FROM chengji WHERE xingming= '小王'or xuehao='084'"; 这样又可以输出小王和084的信息,是不是sql语句中的值没有传到,如果有错应该怎么改呢,谢谢~~~
<html>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
<body>
<form name="myform" method="POST" action=" " onSubmit="juge()" >
请输入学生信息:<input name="key" type="text" ><p>
<input name="submit" type="submit" value="搜索" >  
</form>
</body>
</html>
<?php
$conn=mysql_connect ("localhost", "root", "");
mysql_query("set names GB2312"); //解决中文乱码问题
mysql_select_db("student");
mysql_query("set names 'gb2312'");
if($_POST[submit]){
$sql="SELECT * FROM chengji WHERE xingming ='%$_post[key]%' or xuehao ='%$_post[xuehao]%' ";
//$sql="SELECT * FROM chengji WHERE xingming= '小王'or xuehao='084'";
$query=mysql_query($sql);
$result=mysql_num_rows($query);
if($result==0)
echo "无查询记录";
echo "<p align='center'>";
echo "<table border='1' >" ;
while($row=mysql_fetch_array($query)){
echo "<tr>\n";
echo "<td>学生 学号</td>\n";
echo "<td>学生姓名</td>\n";
echo "<td>成绩1</td>\n";
echo "<td>成绩2</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td>".$row[xuehao]."</td>\n";
echo "<td>".$row[xingming]."</td>\n";
echo "<td>".$row[chengji1]."</td>\n";
echo "<td>".$row[chengji2]."</td>\n";
echo "</tr>\n";
}
echo "</table>" ;
}
?> 展开
<html>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
<body>
<form name="myform" method="POST" action=" " onSubmit="juge()" >
请输入学生信息:<input name="key" type="text" ><p>
<input name="submit" type="submit" value="搜索" >  
</form>
</body>
</html>
<?php
$conn=mysql_connect ("localhost", "root", "");
mysql_query("set names GB2312"); //解决中文乱码问题
mysql_select_db("student");
mysql_query("set names 'gb2312'");
if($_POST[submit]){
$sql="SELECT * FROM chengji WHERE xingming ='%$_post[key]%' or xuehao ='%$_post[xuehao]%' ";
//$sql="SELECT * FROM chengji WHERE xingming= '小王'or xuehao='084'";
$query=mysql_query($sql);
$result=mysql_num_rows($query);
if($result==0)
echo "无查询记录";
echo "<p align='center'>";
echo "<table border='1' >" ;
while($row=mysql_fetch_array($query)){
echo "<tr>\n";
echo "<td>学生 学号</td>\n";
echo "<td>学生姓名</td>\n";
echo "<td>成绩1</td>\n";
echo "<td>成绩2</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td>".$row[xuehao]."</td>\n";
echo "<td>".$row[xingming]."</td>\n";
echo "<td>".$row[chengji1]."</td>\n";
echo "<td>".$row[chengji2]."</td>\n";
echo "</tr>\n";
}
echo "</table>" ;
}
?> 展开
3个回答
展开全部
sql语句有错误,你既然用了通配符%,那就不能用=号了,因为你的数据库字段值没有等于百分号的,比如你输入小王,那他就会变成 ='%小王%',你字段内有%小王%的值吗?没有吧?
呵呵!
把=号改成 like
$sql="SELECT * FROM chengji WHERE xingming like '%$_post[key]%' or xuehao like '%$_post[xuehao]%' ";
呵呵!
把=号改成 like
$sql="SELECT * FROM chengji WHERE xingming like '%$_post[key]%' or xuehao like '%$_post[xuehao]%' ";
追问
谢谢,$sql="SELECT * FROM chengji WHERE xingming like '%$_post[key]%' or xuehao like '%$_post[key]%' "; 但是这样更改输出的是全部人的信息了呢,而不是我输入的想查的信息,那应该怎么改呢,
展开全部
$sql="SELECT * FROM chengji WHERE xingming ='%$_post[key]%' or xuehao ='%$_post[xuehao]%' ";
chengji表那添上数字1左右的那个点的符号试试
chengji表那添上数字1左右的那个点的符号试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询