2016-04-18 19 views
-1

現在、私は次のコードを使用して「可用性」を検索したクエリを持っています。テキストフィールド入力で検索

$status = 'available'; 
$stmt = $pdo->query('SELECT * FROM orders WHERE idorder = "' . $status . '"'); 
$results = $stmt->fetchAll(); 

私の質問は、変数を$ statusから 'available'から検索ボックスに入力されたものに変更するにはどうすればよいですか?

+0

渡すHTMLフォームを使用しますクエリのデータ? –

+0

PDOを使うつもりならば、値を直接挿入するのではなく、準備されたステートメントとパラメータを '$ status'に使用するのに十分なほどスマートになり、SQLインジェクションを開くことができます - http://stackoverflow.com/questions/ 60174/how-can-i-prevent-sql-injection-in-php – Sean

+0

検索ボックスのコードはどこですか? '

'の内部には ''ですか?あなたは 'method =" GET "'や 'method =" POST "'を使っていますか? – Sean

答えて

0

Index.htmlと

<form action="file.php" method="get"> 
<input type="text" name="status"> 
<input type="submit" value="Submit"> 
</form> 

File.php

<?php 
    $status=$_GET['status']; 
    $stmt = $pdo->query('SELECT * FROM orders WHERE idorder = "' . $status . '"'); 
    $results = $stmt->fetchAll(); 
?> 
+0

file.phpとは何ですか? – Mehmvq

+0

これはあなたのフォームが指示するファイルです。 MySQLはサーバーサイドの言語です。つまり、クエリを実行する前に、「ステータス」入力をサーバーに送り返す必要があります。 – stackunderflow

1

これはあなたの検索ページです:

myhtml.php

<?php 

if(isset($_POST["btnsubmit"]) && !empty($_POST["btnsubmit"])) 
{ 
    $status = $_POST["status"]; 
    $stmt = $pdo->query('SELECT * FROM orders WHERE idorder = "' . $status . '"'); 
    $results = $stmt->fetchAll(); 

} 

?> 

<form action="myhtml.php" method="POST"> 
<input type="text" name="status"> 
<input type="submit" value="Submit" name="btnsubmit"> 
</form> 
関連する問題