标题:php挂断我的代码
请告诉我为什么或者有什么问题
这是我的代码
<?php
$group = $_GET['group'] ;
$email = $_GET['email'] ;
include("../includes/config.php") ;
if($group != '')
{
$query = mysql_query(" SELECT email FROM users WHERE `group`='$group' ") ;
$emails = '' ;
while($res = mysql_num_rows($query))
{
$emails .= $res[0] ;
}
}
$emails .= $email ;
echo $emails ; die();
?>
在While循环之前
我试图查看我的查询及其确定
循环后
服务器没有答案
我正在使用php 5.2.6
答案 0 :(得分:4)
要避免SQL注入,您应该替换
$group = $_GET['group'] ;
的
$group = mysql_real_escape_string($_GET['group']) ;
然后,你必须执行查询,然后迭代结果集,而不是你正在做什么迭代结果中的行数(对于每个结果集是常量,并且总是求值为true,创建无限环)
$res = mysql_query($query);
while ($row = mysql_fetch_row($res)) {
$email .= $row[0];
}
答案 1 :(得分:2)
尝试在循环中使用mysql_fetch_array
代替mysql_num_rows
。
答案 2 :(得分:2)
您通常希望使用mysql_fetch_array
而不是mysql_num_rows
,因为后者会返回行数而不是结果。