无法正确回显数组

时间:2015-01-04 06:24:32

标签: php mysql arrays fetch

我在数据库中的表包含3列,所有列都有qwe作为用户名,并且各自的日期分别为1月,2月和3月,但是当我尝试回显它们时,它只显示1月。我试图将它们全部放入下拉列表但我无法通过这个,所以我必须确保在将它们放到其他地方之前得到所有这些日期。

{   
$con=mysqli_connect('localhost','root','') or die(mysqli_error());
mysqli_select_db($con, 'useddates') or die("cannot select DB");

$request="SELECT date FROM mytable WHERE username='qwe'";
$result=mysqli_query($con, $request);
$fetch=mysqli_fetch_assoc($result);

echo $fetch['date']; echo "<br>";
print_r($fetch);
}

1 个答案:

答案 0 :(得分:1)

你缺少循环,数据出现了。您可以使用 print_r($ fetch)查看何时打印数据,使用循环逐个显示。 并且在检查 mysql注入之前,还尝试不直接在查询中使用用户输入。就像你已经推出 username ='qwe'如果用户名是用户输入,那么在查询中直接使用它查询建议

$request = "SELECT date FROM mytable WHERE username=".mysql_real_escape_string('qwe'); 

和你的循环尝试这个,     

$con = mysqli_connect('localhost', 'root', '') or die(mysqli_error());
mysqli_select_db($con, 'useddates') or die("cannot select DB");

$request = "SELECT date FROM mytable WHERE username='qwe'";
$result = mysqli_query($con, $request);
print_r($fetch);
while ($fetch = mysqli_fetch_assoc($result)) {
    echo $fetch['date'];
    echo "<br>";
}

?>