1

我正在打印数据库中一张表中的所有数据,方法是使用mysql_fetch_query()来创建一个数组,然后使用while函数来打印它。

唯一的问题是,它跳过了第一条记录并直接打印记录 2。记录 1 确实存在于表中,并被命名为这样。

有什么我遗漏或需要添加的吗?

mysql_connect("$host", "$username", "$db_password")or die("cannot connect"); 

$data=mysql_query("SELECT * FROM users")or die(mysql_error()); 
$info=mysql_fetch_array($data);
while($info = mysql_fetch_array($data)){
    echo "<br />";
    echo "Record id: <strong>" . $info['id'] . "</strong>";
    echo "<br />";
    echo "Visit time and date: <strong>" . $info['visitDate'] . "</strong>";    
    echo "<br />";
    echo "Previous destination: <strong>" . $info['cameFrom'] . "</strong>";
    echo "<br />";
    echo "Browser used: <strong>" . $info['browser'] . "</strong>";
    echo "<br />";
    echo "Location of user: <strong>" . $info['location'] . "</strong>";
    echo "<p> </p>";
}
4

3 回答 3

2

在 while 循环之前删除此行:

$info=mysql_fetch_array($data);

这将获取第一条记录,并且当您开始时循环从第二行开始,因为您mysql_fetch_array()再次调用。

于 2013-04-02T10:50:37.910 回答
1
$info=mysql_fetch_array($data);
while($info = mysql_fetch_array($data)){

只保留条件,因为您在循环之前进行了一次提取,这是第一个船长行

于 2013-04-02T10:51:30.243 回答
0

你已经调用了 mysql_fetch_array() 两次

**$info=mysql_fetch_array($data);
while($info = mysql_fetch_array($data))**

所以你的第一条记录已经通过第一次调用 mysql_fetch_array() 获取

只需删除第一个电话,它就可以正常工作。

于 2013-04-02T11:02:48.877 回答