Php 想要打印mysqli_fetch_数组的所有结果,但它多次返回第一行
我有一个数据库db1,其中包含表内容2个字段:表用户(userID varchar(1),userName varchar(30)) 我在这个表中放了两行:(01,admin)和(02,user) 我想打印出所有用户名,以便输入代码:Php 想要打印mysqli_fetch_数组的所有结果,但它多次返回第一行,php,mysqli,Php,Mysqli,我有一个数据库db1,其中包含表内容2个字段:表用户(userID varchar(1),userName varchar(30)) 我在这个表中放了两行:(01,admin)和(02,user) 我想打印出所有用户名,以便输入代码: $conn=mysqli_connect("localhost","root","",db1); if($conn) { $sql="SELECT userName FROM user"; $resul=mysqli_query($conn,$sq
$conn=mysqli_connect("localhost","root","",db1);
if($conn)
{
$sql="SELECT userName FROM user";
$resul=mysqli_query($conn,$sql);
$row=mysqli_fetch_array($result);
$mysqli_close($conn);
foreach($row as $a)
{
echo $a;
}
}
但我得到的结果是
管理员
不
管理员用户
你能告诉我为什么吗?我怎样才能修好它?
谢谢 因为返回第一行,并且在foreach
中循环相同的$row
,所以只能从第一行$row
获取数据
相反,您要做的是使用一个while循环,它在这种情况下更合适:
while ($row=mysqli_fetch_array($result)) {
print_r($row);
}
试试这个..你看过文档了吗?它清楚地表明,这只返回一行。您只获取一个字段,为什么要尝试回显两个字段?并且在获取之前不要调用
mysqli\u close()
。
$conn=mysqli_connect("localhost","root","",db1);
if($conn)
{
$sql="SELECT userName FROM user";
$result=mysqli_query($conn,$sql);
while($row=mysqli_fetch_array($result);)
{
print_r($row);
}
$mysqli_close($conn);
}