PHP/MySQL:获取一个结果
这是我的数据库: 以下是查询: 从用户中选择* 现在当我这样做的时候:PHP/MySQL:获取一个结果,php,mysql,Php,Mysql,这是我的数据库: 以下是查询: 从用户中选择* 现在当我这样做的时候: $query = $connection->query($_GET['query']); // SELECT * FROM users print_r($query->fetch_assoc()); 我将此作为输出: 排列 [id]=>3 [用户名]=>karel 为什么不输出id 4和用户名ccscs 当我执行while循环时: while($row = $query->fetch_assoc()){
$query = $connection->query($_GET['query']); // SELECT * FROM users
print_r($query->fetch_assoc());
我将此作为输出:
排列
[id]=>3
[用户名]=>karel
为什么不输出id 4和用户名ccscs
当我执行while循环时:
while($row = $query->fetch_assoc()){
print_r($row);
}
那是因为只取一行
要获取每一行,可以按如下方式执行:
while($row = $query->fetch_assoc()){
print_r($row);
}
那是因为只取一行
要获取每一行,可以按如下方式执行:
while($row = $query->fetch_assoc()){
print_r($row);
}
发生这种情况的原因是,您不给查询下任何命令,所以它会自动获取第一条记录。如果您想返回最后一条记录,您可以按id desc进行订购,如下所示
SELECT * FROM users ORDER BY id DESC
$fields = array();
while($row = $query->fetch_assoc())
{
print_r($row);
$fields[] = $row;
}
如果您需要检索所有记录,则需要循环抛出您的记录
while($row = $query->fetch_assoc())
{
print_r($row);
}
根据新的操作信息,我不会获取两次,而是一次,如下所示
SELECT * FROM users ORDER BY id DESC
$fields = array();
while($row = $query->fetch_assoc())
{
print_r($row);
$fields[] = $row;
}
发生这种情况的原因是,您不给查询下任何命令,所以它会自动获取第一条记录。如果您想返回最后一条记录,您可以按id desc进行订购,如下所示
SELECT * FROM users ORDER BY id DESC
$fields = array();
while($row = $query->fetch_assoc())
{
print_r($row);
$fields[] = $row;
}
如果您需要检索所有记录,则需要循环抛出您的记录
while($row = $query->fetch_assoc())
{
print_r($row);
}
根据新的操作信息,我不会获取两次,而是一次,如下所示
SELECT * FROM users ORDER BY id DESC
$fields = array();
while($row = $query->fetch_assoc())
{
print_r($row);
$fields[] = $row;
}
fetch_assoc从结果集中检索一行
mysqli_result::fetch_assoc-mysqli_fetch_assoc-获取结果行
作为关联数组
您应该使用如下内容:
while($row = $query->fetch_assoc()){
print_r($row);
}
fetch_assoc从结果集中检索一行
mysqli_result::fetch_assoc-mysqli_fetch_assoc-获取结果行
作为关联数组
您应该使用如下内容:
while($row = $query->fetch_assoc()){
print_r($row);
}
这将返回最后一条记录,但我认为OP希望获取所有行。这就是为什么我放置两个解决方案使用第二个解决方案,然后循环抛出所有记录。不要两次获取结果,只在同一个循环中执行这两个操作。这将返回最后一条记录,但我认为OP想要获取所有行。这就是为什么我放置了两个解决方案使用第二个解决方案,循环抛出所有记录。不要两次获取结果,只需在同一个循环中执行两个操作。仍然只有一行:while$fetch=$query->fetch\u assoc{print\r$fetch;}你是什么意思?你能给我们看看产量吗。如果您的意思是每一行都有一行,那么这是正常的。@user3144435这就是您之前放置的for循环的原因。它已经检索到第一行,而while循环只获取其余的。移除它,它应该会工作。你是说foreach循环吗?这就是获取字段名,当我删除它时,它起作用了,但现在我无法再获取字段名。您需要为获取字段名编写自己的查询,或者您可以在while的第一次迭代中获取名称。仍然有一行:while$fetch=$query->fetch\u assoc{print\r$fetch;}您是什么意思?你能给我们看看产量吗。如果您的意思是每一行都有一行,那么这是正常的。@user3144435这就是您之前放置的for循环的原因。它已经检索到第一行,而while循环只获取其余的。移除它,它应该会工作。你是说foreach循环吗?这是为了获取字段名,当我删除它时,它可以工作,但现在我无法再获取字段名。您需要编写自己的查询来获取字段名,或者您可以在while的第一次迭代中获取名称。