我在数据库中的表包含 3 列,所有列都有 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);
$fetch=mysqli_fetch_assoc($result);
echo $fetch['date']; echo "<br>";
print_r($fetch);
}
最佳答案
您缺少循环,数据出现。可以看到在使用print_r($fetch)打印数据时,使用循环来一一显示。 在检查 mysql 注入(inject)之前,尽量不要在查询中直接使用用户输入。就像您输入的那样 username='qwe' 如果用户名是用户输入,则直接在查询中使用它查询建议
$request = "SELECT date FROM mytable WHERE username=".mysql_real_escape_string('qwe');
你的 with 循环试试这个,
$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>";
}
?>
关于php - 无法正确回显数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27763030/