【问题标题】:PHP error - mysqli_fetch_assoc returns Null [duplicate]PHP错误-mysqli_fetch_assoc返回Null [重复]
【发布时间】:2019-11-17 08:07:53
【问题描述】:

我是 php 和 mysql 的新手。我正在尝试从表中读取数据。代码如下:

<?php
$conn = mysqli_connect("localhost", "root", "MyPass", "MyDB");
$sql = "SELECT Foo FROM MyTable";
$result = mysqli_query($conn, $sql);
$row = mysqli_fetch_assoc($result);
if($row == null)
{
  echo'mysqli_fetch_assoc returned null';
}
else
{
  echo row['Foo'];
}
?>

这是表格:

+---------+
|   Foo   |
+---------+
|       5 |
|       5 |
|       5 |
+---------+

`

现在代码打印出“mysqli_fetch_assoc returned null”,表明有问题。有谁知道是什么导致了错误?我该如何解决?

【问题讨论】:

  • 错误检查 但如果您不介意,请将ini_set('display_errors', 1); ini_set('log_errors',1); error_reporting(E_ALL); mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); 添加到脚本顶部。这将强制任何 mysqli_ 错误生成您可以在浏览器上看到的异常以及正常的 PHP 错误。
  • 这没有帮助!

标签: php mysql


【解决方案1】:

使用 if 条件如下:-

if(row['Foo'] == "")
{
  echo'mysqli_fetch_assoc returned null';
}
else
{
  echo row['Foo'];
}

【讨论】:

    【解决方案2】:

    我认为你应该在 while 循环中使用 mysqli_fetch_assoc

    像这样。

    <?php
    $conn = mysqli_connect("localhost", "root", "MyPass", "MyDB");
    $sql = "SELECT Foo FROM MyTable";
    if ($result = mysqli_query($conn, $sql)) {
      while ($row = mysqli_fetch_assoc($result)) {
        if($row == null)
        {
          echo'mysqli_fetch_assoc returned null';
        }
        else
        {
          echo row['Foo'];
        }
      }
      mysqli_free_result($result);
    }
    
    mysqli_close($conn)
    ?>
    

    【讨论】:

      猜你喜欢
      • 2019-10-04
      • 1970-01-01
      • 2012-09-13
      • 1970-01-01
      • 1970-01-01
      • 2019-04-26
      • 2020-02-10
      • 2018-05-19
      • 2014-10-24
      相关资源
      最近更新 更多