【问题标题】:Displaying the info from a MySQL database onto a html table将 MySQL 数据库中的信息显示到 html 表中
【发布时间】:2014-04-22 02:19:18
【问题描述】:

最近我一直在构建我的第一个网站,因为这是我第一次使用 PHP 和数据库,所以我遇到了麻烦。我已经研究了三个多小时的答案。在学习了几个教程之后,我无法在我的网页上的表格中显示数据库信息。唯一出现的项目是一个表头和一个空白行。我没有连接到数据库还是与我的代码有关?下面是我的 html 文件中的 PHP 代码。

<?php
        $connection = mysql_connect('localhost', 'root', '');
        mysql_select_db('jcsavage_initiumjobs');

        if(!$conmnection){
            die('Could not connect: ' . mysql_error());
        }

        $result = mysql_query("SELECT name, address, ages FROM companies     ORDER BY name");
    ?>

        <table id='company_tables' border='1' align='centre'>
        <tr> <th colspan='3'>Companies</th> </tr>
        <tr> <th>Name of Company</th> <th>Location</th> <th>Ages Accepted</th> </tr>

    <?php
        while($row = mysql_fetch_array($result)){
    ?>
        <tr><td> <?php . $row['name'] . ?> </td><td> <?php . $row['address'] . ?> </td><td> <?php . $row['ages'] . ?> </td></tr>
    <?php
        }
    ?>
        </table>
    <?php
        mysql_close($connection);
    ?>

我还有第二个问题。字符串 localhost 和 root 是什么意思?为什么密码是空白的?任何帮助表示赞赏。如果您需要有关我的数据库、我的网站托管商、更多代码或其他任何信息的更多信息,请随时提出。

【问题讨论】:

  • 调试 $result = mysql_query("SELECT name, address, ages FROM companies ORDER BY name") or die(mysql_error());
  • if 语句中的 !$connection 拼写错误。 localhost 也是数据库的地址,root 是您连接的用户名,如果该用户没有密码,则密码为空。 mysql_connect()
  • 我建议您查看mysqli php object。这是一种更直观的连接 mysql 数据库的方法。
  • 第二个问题:简而言之,localhost 是您的主机名,您使用的主机只能在您的 PC 上运行。 root 是用户名,例如:谁使用 localhost/phpmyadmin。并且密码是空白的,因为你没有设置它。

标签: php html database html-table


【解决方案1】:

试试

<?php
    while($row = mysql_fetch_array($result)){
?>
    <tr><td> <?php echo $row['name']; ?> </td><td> <?php echo $row['address']; ?> </td><td> <?php echo $row['ages']; ?> </td></tr>
<?php
    }
?>

$connection = mysql_connect('localhost', 'root', '');

localhost 是托管数据库“jcsavage_initiumjobs”的服务器的域

root 是您用来连接 MySQL 服务器的 MySQL 用户 ID。

'' 是密码,在这种情况下尚未设置。当您在用户 ID 'root' 上设置密码时,您将添加该密码而不是空(不存在)密码

因此,例如,如果您将 root 的密码设置为“andBranch”,则您连接的世界代码为

 $connection = mysql_connect('localhost', 'root', 'andBranch');

【讨论】:

  • 感谢您如此快速地回复并澄清本地主机和密码。然而,来自数据库的信息仍然没有显示出来。这可能是不正确的,但我猜我认为数据库可能由于某种原因没有连接,尽管我对 php 和数据库不太了解。
【解决方案2】:

试试这个代码

<?php
    $connection = mysqli_connect('localhost', 'root', '','jcsavage_initiumjobs');
    if(!$connection){
        die("Could not connect:" . mysqli_connect_error());
    }
?>
<html>
<body>
<table id='company_tables' border='1' align='centre'>
<tr><th colspan='3'>Companies</th></tr>
<tr><th>Name of Company</th><th>Location</th><th>Ages Accepted</th> </tr>

<?php
$statement = "SELECT name, address, ages FROM companies ORDER BY name";
if($result = mysqli_query($connection, $statement))
{
  while($data = mysqli_fetch_object($result))
  {
    echo "<tr><td>$data->name</td><td>$data->address</td><td>$data->ages</td></tr>";
  }
}
?>
</table>
</body>  
</html>

【讨论】:

  • 我不知道为什么,但它仍然无法正常工作。在表格中,所有打印出来的都是 $data-> ,然后是那里的内容。我还收到额外的文本“; } } ?>。我不知道为什么会出现这种情况,我几乎到处都看过。用户名和密码总是应该是空白的吗?我的数据库可能有问题吗?谢谢回应
猜你喜欢
  • 2017-04-16
  • 2017-05-25
  • 1970-01-01
  • 2017-04-25
  • 2015-02-05
  • 2014-01-15
  • 2021-02-08
  • 1970-01-01
  • 2019-12-31
相关资源
最近更新 更多