将SQL数据放入HTML表

时间:2013-01-27 14:00:08

标签: php html sql html-table

我试图从mySQL数据库中获取数据并将它们放入HTML表格中。 在互联网上搜索了很多,但我找不到适合我的代码。

目前,我有这段代码

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>
    <table>
        <thead>
            <tr>
                <td>Naam</td>
                <td>Gemeente</td>
                <td>Datum</td>
            </tr>
        </thead>
        <tbody>
       <?php
          $db_select = mysql_select_db($dbname,$db);
            if (!db_select) {
                die("Database selection also failed miserably: " . mysql_error());
            }
            mysql_select_db("databaseiheko");
            $results = mysql_query("SELECT NaamFuif, GemeenteFuif, DatumFuif FROM tblfuiven");
            while($row = mysql_fetch_array($results)) {
            ?>
                <tr>
                    <td><?php echo $row['NaamFuif']?></td>
                    <td><?php echo $row['GemeenteFuif']?></td>
                    <td><?php echo &row['DatumFuif']?></td>
                </tr>

            <?php
            }
            ?>   
            </tbody>
            </table>
</body>
</html>

我唯一得到的是我桌子的第一排(Naam-Gemeente-Datum)。 我做错了什么或忘记了什么?

3 个答案:

答案 0 :(得分:4)

首先,要记住的最重要的事情是:

您正在使用已弃用和不安全的代码

mysql_ functions are strongly discouraged,原因有多种:

  • 已弃用,将在以后的PHP版本中删除,
  • 不安全导致可能的SQL注入,
  • 缺少更多当前版本的PHP中的许多功能

请参阅更多更深入解释的链接问题。

现在,代码本身:

您没有使用mysql_connect连接到服务器

您应该使用mysql_connect来指定将用于访问数据库中数据的服务器,用户名和密码。从你的代码来看,似乎 应该存在,因为$db函数中使用了mysql_connect变量,但没有正确初始化,也没有在其他任何地方再次使用。

您应该以与此类似的方式使用mysql_connect

$db = mysql_connect('localhost', $user, '$password');
if (!$db) {
    die('Not connected : ' . mysql_error());
}

(别忘了设置你的用户名和密码!)

您连续两次使用mysql_select_db

    $db_select = mysql_select_db($dbname,$db);
        if (!db_select) {
            die("Database selection also failed miserably: " . mysql_error());
        }

接着是

mysql_select_db("databaseiheko");

  1. 请注意$dbname$db变量,您的代码中没有这些变量,此功能将无法正常工作。
  2. 第二个mysql_select_db会覆盖第一个,但您没有指定要使用的服务器连接。
  3. 您应该使用第一个版本,但应该使用mysql_connect

    您的代码中存在拼写错误

    • if (!db_select) {应为if (!$db_select) {
    • echo &row['DatumFuif']应为echo $row['DatumFuif']

答案 1 :(得分:2)

不推荐使用mysql_函数,但是如果你想使用它们,我建议这些更正:

您可以通过以下方式更正代码: 需要mysql连接:

 <?php
 //connect to your database
 mysql_connect("serverIpAddress","userName","password");
 //specify database
 mysql_select_db("yourDatabaseName") or die;
 //Build SQL Query
 $query = "select * from tblfuiven";
 $queryResult=mysql_query($query);
 $numrows=mysql_num_rows($queryResult);

numrows将包含db中找到的记录数。 为行数添加一个echo,并告诉我们行数是否仍为1。 然后使用mysql_fetch_assoc获取行:      

  while($row = mysql_fetch_assoc($queryResult)) {
        ?>
            <tr>
                <td><?php echo $row['NaamFuif']?></td>
                <td><?php echo $row['GemeenteFuif']?></td>
                <td><?php echo &row['DatumFuif']?></td>
            </tr>
        <?php

        }
        ?>

编辑:您可以使用此代码测试代码并让我们知道您获得的行数(写下您的真实用户名和密码以及数据库名称:

         <?php
         mysql_connect("localhost","root","root");     
         mysql_select_db("databaseName") or die;
            $results = mysql_query("SELECT * FROM tblfuiven");
            $numrows=mysql_num_rows($queryResult);
           while($row = mysql_fetch_assoc($queryResult)) {
            ?>
                <tr>
                    <td><?php echo $numrows ?></td>
                    <td><?php echo $row['NaamFuif']?></td>
                    <td><?php echo $row['GemeenteFuif']?></td>
                    <td><?php echo $row['DatumFuif']?></td>
                </tr>

            <?php
           }
           ?>

答案 2 :(得分:0)

您的问题出在php echo语句中。它缺少“;”。