1

我一直在尝试使用 PHP 连接到 MySQL 并显示一些数据。我对此完全陌生。我主要从 w3schools 和其他一些在 Google 上找到的网站阅读了这个主题。但是我有 2 个问题 1st,PHP 代码之后开始

$result = mysql_query("SELECT * FROM Passengers_On_Flight");

正在显示为纯文本。

另一个问题是,即使没有提交表单,它也总是会发生,这让我相信表单由于某种原因if(isset($_POST['submit']))没有被正确评估。我发现了其他问题,人们遇到的问题是它从不评估真实,但并不总是评估真实。

我在我的服务器上做了一个 PHP -v 以确保安装了 php5,我也这样做了: http: //www.gilesorr.com/papers/PHP/x37.html

两者都表明 PHP 实际上已安装并正在运行。我已经搜索过,但似乎无法找出问题所在。

这是我使用 PHP 编写的 HTML:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
    <link rel="stylesheet" type="text/css" href="cobraStyle.css">
    <HEAD>
    <TITLE>Cobra</TITLE>
    </HEAD>
    <BODY>
    <div id="container">
        <div id="header">
            <h1>
            Cobra Airlines
            </h1>
        </div>
        <div id="navigation">
            <ul>
                <li><a href="#">Home</a></li>
                <li><a href="viewFlights.html">Check Flights</a></li>
                <li><a href="#">Administration</a></li>
                <li><a href="#">Contact us</a></li>
            </ul>
        </div>
        <div id="content">
        <h2>
        Flights heading
        </h2>
        <?php
        if($_POST['submit'])
        {
            $con = mysql_connect("localhost","root","qwerty");
        if (!$con)
        {
            die('Could not connect: ' . mysql_error());
        }
        mysql_select_db("Cobra_Airlines", $con);

        $result = mysql_query("SELECT * FROM Passengers_On_Flight");

        echo "<table border='1'>
            <tr>
            <th>Fligh Number</th>
            <th>Departure Date</th>
            <th>First Name</th>
            <th>Last Name</th>
            <th>Passenger Number</th>
            </tr>";

        while($row = mysql_fetch_array($result)){
            echo "<tr>";
            echo "<td>" . $row['FlightNum'] . "</td>";
            echo "<td>" . $row['Departure_Date'] . "</td>";
            echo "<td>" . $row['First_Name'] . "</td>";
            echo "<td>" . $row['Last_Name'] . "</td>";
            echo "<td>" . $row['PassengerNum'] . "</td>";
            echo "</tr>";
        }
        echo "</table>";

        mysql_close($con);
    }
?>
<p>
<form name="input" action="viewFlights.html" method="post">
    Flight Number: <input type="text" name="flight">
    <input type="submit" value="submit" name="submit">
</form>
</p>
</div>
<div id="footer">
    Copyright © Cobra Air, 2012
</div>
</div>
</BODY>
</HTML>

这是更新的PHP:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<link rel="stylesheet" type="text/css" href="cobraStyle.css">
   <HEAD>
      <TITLE>Cobra</TITLE>
   </HEAD>

   <BODY>

    <div id="container">
        <div id="header">
                <h1>
                    Cobra Airlines
                </h1>
            </div>

        <div id="navigation">
            <ul>
                <li><a href="#">Home</a></li>
                <li><a href="viewFlights.html">Check Flights</a></li>
                <li><a href="#">Administration</a></li>
                <li><a href="#">Contact us</a></li>
            </ul>
        </div>

        <div id="content">
            <h2>
                Flights heading
            </h2>

            <?php


                    $con = mysql_connect("localhost","root","qwerty");
                    if (!$con)
                    {
                        die('Could not connect: ' . mysql_error());
                    }
                    mysql_select_db("Cobra_Airlines", $con);

                    $result = mysql_query("SELECT * FROM Passengers_On_Flight");

                    echo 
                    "<table border='1'>
                    <tr>
                        <th>Fligh Number</th>
                        <th>Departure Date</th>
                        <th>First Name</th>
                        <th>Last Name</th>
                        <th>Passenger Number</th>
                    </tr>";

                    while($row = mysql_fetch_array($result))

                        echo "<tr>";
                        echo "<td>" . $row['FlightNum'] . "</td>";
                        echo "<td>" . $row['Departure_Date'] . "</td>";
                        echo "<td>" . $row['First_Name'] . "</td>";
                        echo "<td>" . $row['Last_Name'] . "</td>";
                        echo "<td>" . $row['PassengerNum'] . "</td>";
                        echo "</tr>";

                    endwhile;
                    echo "</table>";

                    mysql_close($con);

            ?>

            <p>
                <form name="input" action="viewFlights.php" method="post">
                    Flight Number: <input type="text" name="flight">
                    <input type="submit" value="submit" name="submit">
                </form>
            </p>

        </div>

        <div id="footer">
            Copyright © Cobra Air, 2012
        </div>
</div>

   </BODY>

</HTML>
4

2 回答 2

2

问题是它们是 html 文件而不是 php viewFlights.htmlx37.html除非您的服务器被告知 .html 应该解析,否则它们不会解析为 PHP。

将它们的文件名更改为.php,即viewFlights.phpx37.php(并将您的表单操作更新为 viewFlights.php)。

您应该更改if ($_POST['submit'])if (isset($_POST['submit']))以避免和未定义的索引错误。

在旁边...

当你处理完这个问题后,我永远无法理解为什么人们会在空白不重要的情况下这样做。

echo "<tr>";
echo "<td>" . $row['FlightNum'] . "</td>";
echo "<td>" . $row['Departure_Date'] . "</td>";
echo "<td>" . $row['First_Name'] . "</td>";
echo "<td>" . $row['Last_Name'] . "</td>";
echo "<td>" . $row['PassengerNum'] . "</td>";
echo "</tr>";

只是

echo "<tr>
    <td>" . $row['FlightNum'] . "</td>
    <td>" . $row['Departure_Date'] . "</td>
    <td>" . $row['First_Name'] . "</td>
    <td>" . $row['Last_Name'] . "</td>
    <td>" . $row['PassengerNum'] . "</td>
    </tr>
";

编辑

回答第二个问题,while(){} 已更改为 while():endwhile 但冒号丢失。需要是

while($row = mysql_fetch_array($result)):
于 2012-11-30T12:58:45.667 回答
0

纯文本是什么意思?如果您试图提取记录,除非它是密码等...不应该没问题吗?

通过你$_POST提交的价值,你只是把它推到哪里。

您应该$_POST输入航班号,例如: if($_POST['flight'])

您也缺少大量编程来提取记录。

我建议您在编码之前计划该过程。

另外,你的mysql连接的结构很差,在外部目录中保持一个持久连接,直到你准备好关闭它,它使用更少的资源。

(../Connections/config.php)

$pcon = mysql_pconnect('','','')

mysql_select_db('', $pcon)

不要忘记将页面更改为 .php 扩展名而不是 .html!

于 2012-11-30T13:16:03.380 回答