PHP查询代码,请教
<html><head><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/><title>...
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>User-Jurisdiction</title>
</head>
<body>
<form action="?action=ask" method="post">
Key:<input type="text" name="key_in" />
<input type="submit" value="Go" />
</form>
<?php
if($_GET['action']=='ask')
{
$key_in=$_POST['key'];
$conn=mysql_connect("216.83.61.xxx","xxx","xxx");
mysql_select_db("lianmeng7",$conn);
mysql_query("set names gb2312");
$query="select * from hongling_user where key='$key'";
$result=mysql_query($query);
$rows=mysql_num_rows(mysql_query($query));
if ($rows==0){
echo "[nothing]";
exit;
}
while ($row=mysql_fetch_array($result))
{
echo "Now=[",date("Y-m-d"),"] ";
echo "BeginTime=[",$row[begintime],"] ";
echo "AllTime=[",$row[alltime],"] ";
echo "Jurisdiction=[",$row[jurisdiction],"] "."<br>";
}
mysql_close($conn);
}
?>
</body>
</html>
上面代码的功能是查询数据库中的某项值,如果存在,就返回其它对应的内容,如果不存在就返回nothing。
我输入了一个数据库已存在的值,但始终是返回nothing,我确定数据库里存在所要查询的值,请问上面代码错在哪里? 展开
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>User-Jurisdiction</title>
</head>
<body>
<form action="?action=ask" method="post">
Key:<input type="text" name="key_in" />
<input type="submit" value="Go" />
</form>
<?php
if($_GET['action']=='ask')
{
$key_in=$_POST['key'];
$conn=mysql_connect("216.83.61.xxx","xxx","xxx");
mysql_select_db("lianmeng7",$conn);
mysql_query("set names gb2312");
$query="select * from hongling_user where key='$key'";
$result=mysql_query($query);
$rows=mysql_num_rows(mysql_query($query));
if ($rows==0){
echo "[nothing]";
exit;
}
while ($row=mysql_fetch_array($result))
{
echo "Now=[",date("Y-m-d"),"] ";
echo "BeginTime=[",$row[begintime],"] ";
echo "AllTime=[",$row[alltime],"] ";
echo "Jurisdiction=[",$row[jurisdiction],"] "."<br>";
}
mysql_close($conn);
}
?>
</body>
</html>
上面代码的功能是查询数据库中的某项值,如果存在,就返回其它对应的内容,如果不存在就返回nothing。
我输入了一个数据库已存在的值,但始终是返回nothing,我确定数据库里存在所要查询的值,请问上面代码错在哪里? 展开
3个回答
展开全部
$query="select * from hongling_user where key='$key'";
你将你这句话打印出来到数据库中执行以下此sql方法 如果执行能够获取到值的话说明sql语句没有任何问题 如果没有的话 需要看你的key='$key'是否存在! 一般多个值的话需要模糊查询!
你将你这句话打印出来到数据库中执行以下此sql方法 如果执行能够获取到值的话说明sql语句没有任何问题 如果没有的话 需要看你的key='$key'是否存在! 一般多个值的话需要模糊查询!
更多追问追答
追问
select * from hongling_user where key='66536-97E72-23223-F43B1-17064-E7097-81338-27064-041BF-C2546-0F601-B49C4-09709-771F7-BF13CC'
我试着在数据里执行以上SQL语句,返回红色错误,可以说明是语法错误,但这句明明就没有错误的啊,你觉得呢?
追答
没有错误有没有被查询出来关键是这个
展开全部
原因:
Key:<input type="text" name="key_in" /> //这里,你的input名字是 key_in
$key_in=$_POST['key'];//接收的时候,是 key,与form里面的不一致,所以,$key_in为空
$query="select * from hongling_user where key='$key'";//查询时,使用的变量为 $key,没有定义这个变量,故 $key 为空,sql语句为:
select * from hongling_user where key='' //sql数据中没有key为空的数据,故,nothing
修改:
$key_in=$_POST['key'] 改为 $key=$_POST['key_in']; 即可
Key:<input type="text" name="key_in" /> //这里,你的input名字是 key_in
$key_in=$_POST['key'];//接收的时候,是 key,与form里面的不一致,所以,$key_in为空
$query="select * from hongling_user where key='$key'";//查询时,使用的变量为 $key,没有定义这个变量,故 $key 为空,sql语句为:
select * from hongling_user where key='' //sql数据中没有key为空的数据,故,nothing
修改:
$key_in=$_POST['key'] 改为 $key=$_POST['key_in']; 即可
参考资料: /
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你定义的关键词变量是$key_in,但是你写在查询语句里的变量是$key.....
你改回$key_in试试嘛,just do it......
你改回$key_in试试嘛,just do it......
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询