【问题标题】:Using MySQLi to display results from query in PHP使用 MySQLi 在 PHP 中显示查询结果
【发布时间】:2015-03-02 04:36:17
【问题描述】:

我正在使用 PHP 表单将数据输入到 MySQL 表中,并在请求时显示表(这必须使用 MySQLi 完成)。

我成功地插入了数据,但我在使用 MySQLi 和 PHP 显示表格时遇到了问题。我需要在 XHTML 表格中显示结果。

我尝试按照我在网上找到的教程进行操作,但它们似乎不起作用;我当前的代码显示标题,然后在其下方显示一个空白行,而不是我的表中的数据。

我知道它可以连接,就像我说的,它可以插入。有人可以告诉我(并解释一下)我将如何解决我的问题吗?

                $query = "select * from $table_name;";
                if ($result = mysqli_query($db_link, $query)){

                    echo "<table>";
                    //header
                    echo "<tr><td>Date Added</td>";
                            echo "<td>Name</td>";
                            echo "<td>Email</td>";
                    echo "<td>Gender</td>";
                                echo "<td>Country</td>";
                    echo "<td>Subject</td>";
                            echo "<td>Comment</td>";
                    echo "<td>Subscription</td></tr>";
                        //data  
                         while ($row = $result->fetch_row())  {
                        $Row = mysqli_fetch_assoc($result);
                                echo "<tr><td>{$Row[0]}</td>";
                                echo "<td>{$Row[1]}</td>";
                                echo "<td>{$Row[2]}</td>";
                        echo "<td>{$Row[3]}</td>";
                                echo "<td>{$Row[4]}</td>";
                        echo "<td>{$Row[5]}</td>";
                                echo "<td>{$Row[6]}</td>";
                        echo "<td>{$Row[7]}</td></tr>";
                        } 

                        echo "</table>";
                }

                mysqli_free_result($result);
                mysqli_close($db_link);

【问题讨论】:

  • 您遇到什么错误??
  • 不是这样的。

标签: php mysqli xhtml


【解决方案1】:

试试 mysqli_fetch_array()

            $query = "select * from $table_name;";
            if ($result = mysqli_query($db_link, $query)){

                echo "<table>";
                //header
                echo "<tr><td>Date Added</td>";
                        echo "<td>Name</td>";
                        echo "<td>Email</td>";
                echo "<td>Gender</td>";
                            echo "<td>Country</td>";
                echo "<td>Subject</td>";
                        echo "<td>Comment</td>";
                echo "<td>Subscription</td></tr>";
                    //data  
                     while ($row = mysqli_fetch_array($result))  {
                      echo "<tr><td>{$row[0]}</td>";
                      echo "<td>{$row[1]}</td>";
                      echo "<td>{$row[2]}</td>";
                      echo "<td>{$row[3]}</td>";
                      echo "<td>{$row[4]}</td>";
                      echo "<td>{$row[5]}</td>";
                      echo "<td>{$row[6]}</td>";
                      echo "<td>{$row[7]}</td></tr>";
                    } 

                    echo "</table>";
            }

            mysqli_free_result($result);
            mysqli_close($db_link);

【讨论】:

  • 谢谢你的工作,但是 mysqli_fetch_array 和 mysqli_fetch_assoc 有什么不同?
  • mysql_fetch_assoc 此函数将返回一行作为关联数组,其中列名将是存储相应值的键。 mysql_fetch_array 这个函数实际上将返回一个数组,其中 mysql_fetch_row 和 mysql_fetch_assoc 的内容合并为一个。它既有数字键又有字符串键,可让您以最简单的方式访问数据。
【解决方案2】:

你必须逃避你的php

Echo "<td>".$row[6]."</td>";

http://www.w3schools.com/php/php_mysql_select.asp

【讨论】:

【解决方案3】:

希望有效果

    while($row = $result->fetch_assoc()) 
    {
            echo "<tr>";
            echo "<td>". $row["DateAdded"]."</td>";
            echo "<td>". $row["Name"]."</td>";
            echo "<td>".$row["Email"] ."</td>";
            echo "<td>".$row["Gender"] ."</td>";
            echo "<td>".$row["Country"] ."</td>";
            echo "<td>".$row["Subject"] ."</td>";
            echo "<td>".$row["Comment"] ."</td>";
            echo "<td>".$row["Subscription"] ."</td>";
            echo "</tr>";

    }

【讨论】:

    猜你喜欢
    • 2012-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-21
    • 2013-07-14
    • 2013-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多