我正在尝试学习PHP和MYSQL。我在phpmyadmin中创建了一个具有以下属性的数据库:
database name = my_database
table name = users
表格包含:
attributes (id,Name, Password, Phone Number)
我的样子的图示示例:
问题是我在php中编写了一个查询,它将从表中选择所有数据并使用循环显示它。出于某种原因,无论我在users表中添加了多少数据,代码总是省略第一行数据并显示其余用户数据。根据我的代码,输出应该是每个用户名显示的ID号,但第一个用户的信息永远不会显示,其余的用户都会完美显示。有人可以帮我解决这个问题。
我的代码:
<?php
$counter=0;
$mysqli=mysqli_connect('localhost', 'root','','my_database');
if(mysqli_connect_errno())
{
echo'connection failed'; echo"<br>";
}
else{
echo"connection SUCCESSFUL";echo"<br>";
}
$sq1="select * from users";
//$sq1="SELECT `Name`, `Password` FROM `users` ORDER BY `id`";
$res= mysqli_query($mysqli,$sq1);
if($res)
{
echo"Database Query Successful";echo"<br>";
$user_array= mysqli_fetch_array($res);
//print_r($user_array);
while($user_array=mysqli_fetch_assoc($res))
{
$user_id=$user_array["id"];
$user_name=$user_array["Name"];
//$user_phonenumber=$user_array["Phone Number"];
echo'The user name is '.$user_name.' The id is '.$user_id;
}
}
else
{
echo"Databse unsuccessful";
}
?>
答案 0 :(得分:2)
那是因为您在进入循环之前调用了mysqli_fetch_array
,请删除以下行:
$user_array= mysqli_fetch_array($res);