【问题标题】:How to echo result from query如何回显查询的结果
【发布时间】:2020-02-17 03:39:22
【问题描述】:

也许我想多了,但我已将查询范围缩小到找到我需要的 1 个结果的行,但它不会显示。想知道是否有人可以告诉我我做错了什么。

$result = mysqli_query($link, "SELECT pageid FROM article ORDER BY id DESC LIMIT 1");
$row = mysqli_use_result($result);

echo $row;

我让它选择最后一行并从最后一行的 pageid 向我提供存储的数据。

【问题讨论】:

  • 获取结果。
  • 您连接了哪个 api?你的最后一个问题显示为mysql_stackoverflow.com/q/43359978/1415724 - 另外,手册php.net/manual/en/mysqli.use-result.php 状态使用while ($row = $result->fetch_row()) { printf("%s\n", $row[0]); } 例如。并且还声明 “用于从使用数据库连接上的 mysqli_real_query() 函数执行的最后一个查询中启动结果集的检索。” - 您没有使用该函数。
  • $link = mysqli_connect("localhost", "user", "pass", "db"); // 检查连接 if($link === false){ die("ERROR: 无法连接。" . mysqli_connect_error()); }

标签: php mysqli


【解决方案1】:

我不得不调整我的代码。我相信这是因为我使用 mysql。但是,如果您使用 mysqli,此代码将起作用

$pageid = "SELECT pageid FROM articles ORDER BY id DESC LIMIT 1";
$resultpageid = $link->query($pageid);

if ($resultpageid->num_rows > 0) {
    while ($row = $resultpageid->fetch_assoc()) {
        $pagenumber = $row["pageid"];
    }
} else {
    echo "0 results";
}

【讨论】:

    【解决方案2】:

    mysqli 没有任何函数可以从单行获取单列。您需要使用其中一种获取方法,例如fetch_array()。如果您使用LIMIT 1,则不需要任何循环。

    只需获取一行并从返回的数组中获取列:

    $pageid = "SELECT pageid FROM articles ORDER BY id DESC LIMIT 1";
    $resultpageid = $link->query($pageid);
    
    $row = $resultpageid->fetch_assoc();
    // or
    $row = $resultpageid->fetch_array();
    
    if ($row) {
        echo $row["pageid"];
    } else {
        echo "No record found!";
    }
    

    【讨论】:

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