【问题标题】:Trouble displaying MySQL table in HTML/PHP无法在 HTML/PHP 中显示 MySQL 表
【发布时间】:2013-03-22 07:01:35
【问题描述】:

我很难弄清楚如何让我的表格显示为网页。

其他一切正常。我已经能够使用表单将记录写入表格,但我根本无法显示表格。

这是我的代码:

$host = "***";
$userName = "***";
$passWord = "***";
$db = "doctorWho";

mysql_connect($host,$userName,$passWord);
mysql_select_db($db) or die( "Unable to access database");
$query = "SELECT * FROM patients";

$result = mysql_query($query);

echo "<table border='1'>
    <tr>
    <th>Last Name</th>
    <th>First Name</th>
    <th>Address</th>
    <th>Age</th>
    <th>Sex</th>
    <th>Marital Status</th>
    <th>Medication</th>
    <th>Date Rx'd</th>
    <th>Quantity</th>
    </tr>";

while($row = mysqli_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['lastName'] . "</td>";
  echo "<td>" . $row['firstName'] . "</td>";
  echo "<td>" . $row['address'] . "</td>";
  echo "<td>" . $row['age'] . "</td>";
  echo "<td>" . $row['sex'] . "</td>";
  echo "<td>" . $row['maritalStatus'] . "</td>";
  echo "<td>" . $row['medication'] . "</td>";
  echo "<td>" . $row['medsWhen'] . "</td>";
  echo "<td>" . $row['medsQuant'] . "</td>";
  echo "</tr>";

  }
echo "</table>";

【问题讨论】:

  • 不要使用mysql_*?它已被弃用。 mysqlpi 或 PDO 是替代品,也是镇上最新的野兽。
  • 如果您使用的是 mysql,请不要这样做.. 原因正是 @Ed Heal 先生所说的更多信息检查stackoverflow.com/questions/12859942/…
  • @NullPonyPointer - 你让我听起来像一匹马威尔伯

标签: php mysql html-table


【解决方案1】:

你想要mysql_fetch_array()。目前,您正在混合两种不同的扩展。每个都需要不同的东西,与扩展相关。

除此之外,您应该考虑 PDO 或 MySQLi,这是您尝试使用的错误函数的来源。 This article 应该可以帮助您决定可以使用哪个。

【讨论】:

  • @NullPonyPointer 实际上,我只是这方面的菜鸟,慢慢学习。不过感谢您的帮助!
  • @Pachi please noob 并不意味着我们不做首次亮相我相信你遇到了错误并且没有尝试(给予足够的关注)来解决它也不要使用@ 运算符来忽略错误它总是对你不好必须解决它们
  • @Daedalus 我正在解决这个问题。非常感谢您提供给我的信息!
  • 忽略错误是非常糟糕的......并且会导致联合国识别的缺陷并且可以运行整个项目,因此最好开始正确解决和处理它们
【解决方案2】:

来自 php 参考。

mixed mysqli_fetch_array ( mysqli_result $result [, int $resulttype = MYSQLI_BOTH ] )

mysqli_fetch_array需要mysqli_result,但是你用的是mysql_query,你应该试试mysql_fetch_array

【讨论】:

    【解决方案3】:
    // I think your connection should look like this
    $conn = mysql_connect($host,$userName,$passWord);
    mysql_select_db($conn,$db) or die( "Unable to access database");
    
    // another is your using mysql as connection so you can use mysqli functions on that rofl.
    //Instead use mysql functions
    mysql_fetch_array();
    

    注意:另一种是不使用@ 符号来处理错误。在处理错误显示时使用ini_set() 或配置php.ini 是最好的做法。

    【讨论】:

    • 请不要使用@这是不好的做法
    【解决方案4】:

    只是改变:-

    while($row = mysqli_fetch_array($result))
    

    while($row = mysql_fetch_array($result))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-24
      • 1970-01-01
      • 1970-01-01
      • 2015-01-20
      • 2023-03-29
      • 1970-01-01
      • 2019-07-24
      相关资源
      最近更新 更多