Frage

Dies ist das Letzte, was ich tun werde. Nachdem ich diese Arbeit machen kann, kann ich das Entwerfen produzieren, was möglicherweise viel einfacher ist. Danke für deine Hilfe. Ich möchte einen Datensatz von MySQL mit PHP auflisten, indem ich eine Abfrage im Textfeld eingeben. Anschließend wird im Programm alle Datensätze aufgeführt, die dieses Element haben, z. B. Adresse. Hier ist mein Code:

      <?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);
      ?>

Die 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>

Was werde ich in die wo Adresse = "geben? Danke

War es hilfreich?

Lösung

Sie finden den Wert in der $_POST[] Array.

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

Dieser Ansatz kann jedoch gefährlich sein - Sie möchten auch Ihre $ _post [] -Daten gegen die SQL -Injektionsangriffe - davon gibt es viele Tutorials.

Andere Tipps

$ _Post ['Grup'] enthält den Wert im Feld, wenn er veröffentlicht wird.

Dann machen Sie so etwas wie:

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

Wenn Sie dem Postwert mit Sprintf und MySQL_REAL_ESCAPE_STRING nicht entkommen, können Sie durch SQL -Injektionsangriffe angegriffen werden.

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top