【问题标题】:Php skips first MySQL row. Not the common double fetch() mistakephp 跳过第一个 MySQL 行。不是常见的双重 fetch() 错误
【发布时间】:2017-06-29 21:40:30
【问题描述】:

大家好

我提出以下问题: 我的 php 代码在将其打印到屏幕上时跳过了第一个 mysql 行。我已经看到通过在其他问题上删除 while() 循环之外的双 fetch() 方法解决了这个问题,但是我看不到这里发生了这种情况,那还能是什么呢?我迷路了。

这是代码:

<?php
$servername = "localhost";
$username = "root";
$password = "standup";
$database = "sakila";
$conn = new mysqli($servername, $username, $password, $database);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully<br><br>";
$query = "select * from actor;";
$queryResult = $conn->query($query);
while($queryRow = $queryResult->fetch_row()){
    echo "$queryRow[1]<br>";
}
$conn->close();
?>

这是原始数据库:

Mysql

这是浏览器中的结果

Browser

【问题讨论】:

  • [0] 是第一行,而不是 [1]
  • Nah [1] 得到的是列而不是行
  • 是的,[1] 是列。
  • 设置排序顺序;尝试限制 1
  • 查看页面源代码可能存在该行,但浏览器\html 正在“隐藏”它。你应该总是包含一个sort by 否则你会得到意想不到的结果

标签: php mysql row skip


【解决方案1】:

@rtfm 在 cmets 中提供的答案

解决方案 1

在查询中添加order by,此时$query = "select * from actor order by actor_id;";解决了跳过第一行的问题。

解决方案 2

在查询中添加limit,在这种情况下$query = "select * from actor limit 100;";也解决了跳过第一行的问题。

【讨论】:

    猜你喜欢
    • 2013-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多