【问题标题】:PHP MYSQL Database, Suddenly stopped pulling resultsPHP MYSQL 数据库,突然停止拉取结果
【发布时间】:2015-12-16 09:36:06
【问题描述】:

我正在为一个工作项目运行一个非常基本的脚本,我有一个包含大量联系人的数据库,我需要脚本来提取结果并显示一个基本表格,我的脚本工作但所有突然之间它现在没有通过任何数据库信息这是我正在使用的代码:

<?php
   $con=mysqli_connect("localhost","root","password","main");
   // Check connection
   if (mysqli_connect_errno())
     {
       echo "Failed to connect to MySQL: " . mysqli_connect_error();
     }

   $result = mysqli_query($con,"SELECT * FROM users");

   echo "<table border='1'>".
        "<tr><th>ID</th>".
        "<th>Rating</th>".
        "<th>Name</th>".
        "<th>Discipline</th>".
        "<th>Rate</th>".
        "<th>Location</th>".
        "<th>Number</th>".
        "<th>Email</th>".
        "</tr>";

  while($row = mysqli_fetch_array($result));
  {
    echo "<tr>";
    echo "<td>" . $row['ID'] . "</td>";
    echo "<td>" . $row['Rating'] . "</td>";
    echo "<td>" . $row['Name'] . "</td>";
    echo "<td>" . $row['Discipline'] . "</td>";
    echo "<td>" . $row['Rate'] . "</td>";
    echo "<td>" . $row['Location'] . "</td>";
    echo "<td>" . $row['Number'] . "</td>";
    echo "<td>" . $row['Email'] . "</td>";
    echo "</tr>";
  }
  echo "</table>";

  mysqli_close($con);

?>

如果有人指出我正确的方向,那就太好了,谢谢。

编辑:发布我复制了一个我正在调试的旧代码,并且不包括 fetch_array。

【问题讨论】:

  • 是否有人尝试使用用户名TRUNCATE users 注册?
  • while 循环或获取行在哪里?因为 $row 来自哪里?
  • 在调试方面,我试图让代码只列出数据库中的一项,即只是名称,我尝试了一个只有 2 行的更基本的数据库,我尝试了不同的代码完全,但无法让它以同样的方式工作。我还更改了数据库信息以使其连接失败以测试它是否实际连接,这确实显示了它无法连接到未知数据库等的错误信息

标签: php mysql


【解决方案1】:

我在您的代码中看到非常小的错误,

当您添加分号时,while 循环不起作用。

例如来自您的代码。

while($row = mysqli_fetch_array($result))

谢谢 阿米特

【讨论】:

    【解决方案2】:
    $result = mysqli_query($con,"SELECT * FROM users");
    

    在上面,您告诉它使用与数据库的连接,然后从数据库中的表中选择一些数据,但是,您还没有告诉它如果查询失败该怎么办,请尝试以下操作:

    $result = mysqli_query($con,"SELECT * FROM users") or die(mysqli_error($con));
    

    【讨论】:

      【解决方案3】:

      为了帮助在开发模式下调试:

      显示 php 错误: How do I get PHP errors to display?

      让Mysqli抛出异常: How to make mysqli throw exceptions using MYSQLI_REPORT_STRICT?

      您能否使用另一个客户端连接到您的 mysql 数据库并在那里运行查询:

      $ mysql -uusername -p databasename
      mysql> SELECT * FROM users;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-12-28
        • 1970-01-01
        • 1970-01-01
        • 2013-06-30
        • 1970-01-01
        • 1970-01-01
        • 2012-10-24
        • 2016-03-11
        相关资源
        最近更新 更多