7

我正在尝试从我的 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)。我做错了什么还是我忘记了什么?

4

3 回答 3

4

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

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

强烈建议不要使用mysql_ 函数,原因有很多:

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

有关更深入的解释,请参阅链接的问题。

现在,到代码本身:

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

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

您应该mysql_connect以类似于以下的方式使用:

$db = mysql_connect('localhost', $user, '$password');
如果 (!$db) {
    die('未连接:' . mysql_error());
}

(不要忘记设置您的用户名和密码!)

mysql_select_db连续使用两次:

    $db_select = mysql_select_db($dbname,$db);
        如果(!db_select){
            die("数据库选择也惨败:" .mysql_error());
        }

其次是

mysql_select_db("databaseiheko");

  1. 注意$dbnameand$db变量,你的代码中没有它们,这个函数不会像这样工作。
  2. 第二个mysql_select_db覆盖第一个,但您没有指定要使用的服务器连接。

你应该使用第一个版本,但你应该mysql_connect在它之前使用。

您的代码中有拼写错误

  • if (!db_select) {应该if (!$db_select) {
  • echo &row['DatumFuif']应该echo $row['DatumFuif']
于 2013-01-27T15:06:27.080 回答
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 将包含在数据库中找到的记录数。为行数添加一个回显,让我们知道行数是否仍然是一。然后使用 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
           }
           ?>
于 2013-01-27T14:31:18.117 回答
0

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

于 2017-09-12T22:34:41.260 回答