2017-10-12 8 views
0
<html> 
    <head> 
     <style> 
      input 
      { 
       position:relative; 
       height:5%; 
       width:25%; 
       border:2px solid; 
       background-color:#219869; 
       border-radius:10px; 
       font-weight:bold; 
       text-align:center; 
       font-size:19px; 
      } 
     </style> 
    </head> 

    <body bgcolor='#b5eff5'> 
     <form method="POST" action='criminal_search.php'> 
      <select name='s1'> 
       <option value="ID">ID</option> 
       <option value="Name">Name</option> 
       <option value="Phone Number">Phone Number</option> 
       <option value="Date">Date</option> 
      </select> 
      <input type=text name='i1' id='i1'></input> 
      <input type=submit value=submit name="submit"></input> 
     </form> 
    </body> 
    <?php 
     if(isset($_POST['submit'])) 
     { 
      $dbname = "policainformation"; 
      $conn = mysqli_connect('localhost','root','',$dbname); 
      if (!$conn) 
      { 
       die("Connection failed: " . mysqli_connect_error()); 
      } 
      else 
      { 
       $option1=$_POST['s1']; 
       if($option1=="ID") 
       { 
        $option1="report_id"; 
       } 
       else 
       if($option1=="Name") 
       { 
        $option1="reporter_name"; 
       } 
       else 
       if($option1=="Phone Number") 
       { 
        $option1="reporter_ph"; 
       } 
       else 
       if($option1=="Date") 
       { 
        $option1="report_date"; 
       } 

       $option2=$_POST['i1']; 
       if($option1!="Name") 
       $sql="select * from criminal where $option1 in ($option2)"; 
       else 
       $sql="select * from criminal where $option1 in '$option2'"; 
       $result=mysqli_query($conn, $sql) or die("<script type='text/javascript'>alert('No Records Found!')</script>"); 
       if($result) 

       if (mysqli_num_rows($result) > 0) 
       { 
        while($row = mysqli_fetch_assoc($result)) 
        { 
         echo $row["report_id"].$row["reporter_name"].$row["reporter_ph"].$row["reporter_email"].$row["reporter_address"].$row["report_date"].$row["suspect_name"].$row["reason_of_report"].$row["proof"]."<br>"; 
        } 
       } 
       else 
       { 
        echo "<script type='text/javascript'>alert('No Records Found!')</script>"; 
       } 
      } 
     } 
    ?> 
</html> 

これは私のHTMLコードです。私は値を取得し、ウェブページに表示しようとしています。 NAMEオプション以外はすべて正常に動作しています。名前で検索するとき、つまりPHPコードで名前が付けられたクエリが発生したとき、それは機能しません。レコードが見つかりません。私を助けてください。私はまた、より良い参照のためのテーブル構造を入れています。データベースエラー名フェッチされません

https://gyazo.com/1c69aad3491c00d876128e198e39f176

https://screenshots.firefox.com/psi7MgWUjapXavID/localhost

+0

'IN'機能は、2番目の1は、単一引用符を持って、ブラケットを必要としません。 if/elseの目的は何ですか? – Scuzzy

+0

elseが特定のクエリを実行するためのものである場合。それが名前の場合、sqlはテキストの一重引用符を持つ必要があり、数字の場合は一重引用符を持つ必要はありません。したがってif else条件が与えられます。しかし、それはelse部分に問題を与えています。 –

+0

@Scuzzyブラケットを入れてもまだ動作していません –

答えて

0

T-SQL INは(括弧を使用しています)引用符 ''

$sql="select * from criminal where $option1 in ($option2)"; 
else 
$sql="select * from criminal where $option1 = '$option2'"; 
+0

まだ動作していません –

+0

データベースがmysqlにあります –

+0

INが必要ありません.... 2番目のクエリを=(等しい)で更新しました。 –

関連する問題