Domanda

Questa è l'ultima cosa che faro ', dopo che posso fare questo lavoro, posso produrre alla progettazione che potrebbe essere molto più facile. Grazie per tutto il vostro aiuto. Voglio elencare un record da MySQL utilizzando PHP inserendo i termini di nella casella di testo. Poi il programma elencherà tutti i record che ha quell'elemento, ad esempio l'indirizzo. Ecco il mio codice:

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

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

\ cosa farò mettere l'indirizzo dove = "? Grazie

È stato utile?

Soluzione

Troverete il valore della matrice $_POST[].

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

Questo approccio può essere pericoloso anche se - si vorrà sterilizzare anche i vostri $ _POST [] dati contro attacchi SQL injection -. di cui ci sono un sacco di tutorial disponibili

Altri suggerimenti

$ _ POST [ 'grup'] conterrà il valore nel campo al momento della pubblicazione.

Poi fare qualcosa di simile:

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

Se non sfuggire il valore POST con sprintf e mysql_real_escape_string si può essere bersaglio di attacchi di SQL injection.

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top