2

这是我要做的最后一件事,在我完成这项工作之后,我可以生产到设计,这可能会容易得多。感谢你的帮助。我想通过在文本框中键入查询来使用 php 列出来自 mysql 的记录。然后程序将列出所有具有该元素的记录,例如地址。这是我的代码:

      <?php
         $con = mysql_connect("localhost","root","");
         if (!$con)
         {
            die('Could not connect: ' . mysql_error());
         }

         mysql_select_db("koro", $con);

         \\what will I put in the WHERE ADDRESS="?
         $result = mysql_query("SELECT * FROM students WHERE ADDRESS=");

         echo "<table border='1'>
               <tr><th>Firstname</th>
               <th>Lastname</th></tr>";

         while($row = mysql_fetch_array($result))
         {
            echo "<tr>";
            echo "<td>" . $row['IDNUMBER'] . "</td>";
            echo "<td>" . $row['LNAME'] . "</td>";
            echo "<td>" . $row['FNAME'] . "</td>";
            echo "<td>" . $row['MNAME'] . "</td>";
            echo "<td>" . $row['GRADEYR'] . "</td>";
            echo "<td>" . $row['ADDRESS'] . "</td>";
            echo "</tr>";
         }
         echo "</table>";

         mysql_close($con);
      ?>

listform.html:

         <html>
         <head>
         <form action="list.php" method="post">
         address:<input type="text" name="grup" value="" /><br/>
         <input type="submit" name="List" value="" /><br/>
         </form>
         </head>
         </html>

\我将在 WHERE ADDRESS="?谢谢

4

2 回答 2

3

您将在$_POST[]数组中找到值。

$result = mysql_query("SELECT * FROM students WHERE ADDRESS = '{$_POST["grup"]}'");

不过,这种方法可能很危险——您还需要清理 $_POST[] 数据以防止SQL 注入攻击——其中有很多可用的教程。

于 2010-01-18T13:38:25.347 回答
1

$_POST['grup'] 将在发布时包含字段中的值。

然后执行以下操作:

$result = mysql_query(sprintf("SELECT * FROM students WHERE ADDRESS='%s'", mysql_real_escape_string($_POST['grup'], $con)));

如果您不使用 sprintf 和 mysql_real_escape_string 转义 POST 值,您可能会成为 SQL 注入攻击的目标。

http://en.wikipedia.org/wiki/SQL_injection

于 2010-01-18T13:40:34.820 回答