2016-05-30 17 views
0

フォーム処理を使用して特定のデータベースクエリを作成しようとしています。 $ nameにフォームを設定し、$ sql = "SELECT * FROM quotes where qSymbol = $ name ORDER BY qQuoteDateTime DESC"を処理しようとしています。 これを行うにはどうすればよいでしょうか?PHPフォーム処理POST

<form action="post.php" method="post"> 
<span></span><input type = "text" value=" " name="boxy" /> 
<br/><input type="submit" name="submit" value="Enter" /> 
</form> 

<?php 
    $name = $_POST['boxy']; 
    if(isset($_POST['boxy'])){ 
     error_reporting(E_ALL^E_DEPRECATED); 

     $con = mysql_connect('...'); 
     if (!$con){ 
      die("Cannot connect : " . mysql_error()); 
     } 
     mysql_select_db('quotesdb',$con); 
     $sql = "SELECT * FROM quotes WHERE qSymbol = '$name' ORDER BY qQuoteDateTime DESC"; 
     $myData = mysql_query($sql,$con); 
     echo "<table border = 1> 
     <tr> 
     <th>Data</th> 
     <th>Last</th> 
     <th>Change</th> 
     <th>% Chg</th> 
     <th>Volume</th> 
     </tr>"; 

     while ($record = mysql_fetch_array($myData)){ 
      echo "<tr>"; 
      echo "<td>" . $record['qQuoteDateTime'] . "</td>"; 
      echo "<td>" . $record['qLastSalePrice'] . "</td>"; 
      echo "<td>" . $record['qNetChangePrice'] . "</td>"; 
      echo "<td>" . $record['qNetChangePct'] . "</td>"; 
      echo "<td>" . $record['qShareVolumeQty'] . "</td>"; 
      echo "</tr>"; 

     echo "</table>"; 



     mysql_close($con); 




     } 
+2

でない限り、使用すべきでないと危険な 'mysql'機能を使用しないでください、変数の周りの単一引用符が必要になります。 [MySQLi](http://php.net/manual/en/book.mysqli.php)または[PDO](http://php.net/manual/en/book.pdo.php)を使用して切り替えてください。 – Chris

答えて

0

それは数

$sql = "SELECT * FROM quotes WHERE qSymbol = '$name' ORDER BY qQuoteDateTime DESC"; 
+0

ありがとうございます。それはまだ動作していないようです。 enterを押しても何も起こりませんが、変数が変化しているのがわかります。 – user3019579

+0

コードを省略したと思われました。クエリを実行して結果を取得する必要があります –

+0

私はしました。元の質問を編集して、すべてのコードを組み込んでいます。私はそれがフォームの中にあるものと仮定しています。$ name = 'something'を設定すると動作します – user3019579