再请人帮忙写一个PHP+MYSQL查询分析页面

<?php$mysql_server="127.0.0.1";$mysql_username="root";$mysql_password="";$mysql_dbnam... <?php
$mysql_server = "127.0.0.1";
$mysql_username = "root";
$mysql_password = "";
$mysql_dbname = "";

if (isset($_GET['username']) && !empty($_GET['username'])) {
$con = mysql_connect($mysql_server, $mysql_username, $mysql_password) or die ('Could not connect to mysql server!');
mysql_select_db($mysql_dbname) or die('Could not select database!');

$username = $_GET['username'];
$sql = "SELECT pw_extragroups.gid,pw_extragroups.startdate,pw_extragroups.days FROM pw_members,pw_extragroups WHERE pw_members.uid=pw_extragroups.uid AND pw_members.username='$username'";
$arrays=mysql_fetch_assoc(mysql_query($sql));
$total= $arrays[days]-(time()-$arrays[startdate])/3600/24;

if ( $total > 1) {
echo '剩余时间小于';
echo ceil($total);
echo '天';
} else {
echo '剩余时间小于';
echo ceil(($total)*24);
echo '小时';

}
mysql_close($con);
}
?>

上面的查询结果如果不是唯一记录如何再通过pw_extragroups.gid再分析一次?
展开
 我来答
小小兵sryb
2011-07-30
知道答主
回答量:27
采纳率:0%
帮助的人:0
展开全部
<?php
$mysql_server = "127.0.0.1";
$mysql_username = "root";
$mysql_password = "";
$mysql_dbname = "";

if (isset($_GET['username']) && !empty($_GET['username'])) {
$con = mysql_connect($mysql_server, $mysql_username, $mysql_password) or die ('Could not connect to mysql server!');
mysql_select_db($mysql_dbname) or die('Could not select database!');

$username = $_GET['username'];
$sql = "SELECT pw_extragroups.gid,pw_extragroups.startdate,pw_extragroups.days FROM pw_members,pw_extragroups WHERE pw_members.uid=pw_extragroups.uid AND pw_members.username='$username'";
$arrays=mysql_fetch_assoc(mysql_query($sql));
$total= $arrays[days]-(time()-$arrays[startdate])/3600/24;

if ( $total > 1) {
echo '剩余时间小于';
echo ceil($total);
echo '天';
} else {
echo '剩余时间小于';
echo ceil(($total)*24);
echo '小时';

}
mysql_close($con);
}
?>

上面的查询结果如果不是唯一记录如何再通过pw_extragroups.gid再分析一次?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MCodeX
2011-07-31 · TA获得超过306个赞
知道小有建树答主
回答量:411
采纳率:0%
帮助的人:459万
展开全部
不太懂你的问题..
不过你这个脚本有漏洞..
你需要对$_GET['username']和$_GET['password']进行再分析..
否则用户可以对其进行SQL注入
追问
哦?漏洞?怎么注入?怎么防止注入?
追答
你需要对$_GET的所有类型进行判断
比如帐号我们通常是数字+字母,那么你就需要判断是否是这一类型
否则的话用户可以传输一些对SQL有攻击性的数据来实现SQL注入
例如你看到这里
pw_members.username='$username'";
你没有对$_GET['username']进行过滤和判断。
那么入托$username 是其他的数据
比如 ' unionall SELECT xxx..
当然,这查询数据还不是最可怕的。
通过SQL一样可以获得服务器的一些权利..
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
andy_wq
2011-07-24
知道答主
回答量:28
采纳率:0%
帮助的人:0
展开全部
you just wanna this:
while ($arrays=mysql_fetch_assoc(mysql_query($sql))) {
....
}
?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式