2016-05-31 82 views
1

你能告訴我什麼是錯的? 我想,如果發現匹配,從而導致「無結果」,如果沒有結果輸出中「是」 ..它似乎不輸出中什麼..[PHP] [Mysql]不能輸出任何東西,從我的If語句。誰知道哪裏出了問題?

<?php 
     $output = NULL; 

     if(isset($_POST['submit'])){ 
      $st = $_POST['search']; 
      //Connect to the Database 
      $mysqli =NEW mysqli("localhost","root","","exam"); 

      $search = $mysqli->real_escape_string($st); 
      echo $st; 

      //Query Database 
      $result = $mysqli->query("SELECT * FROM users WHERE name = '$search'"); 
      if($result->num_rows > 0){ 
       echo "yes"; 
      } 
     else{ 
      echo "No RESULT"; 
     } 
    } 

?> 
<form> 
    <input type="TEXT" name="search"/><br> 
    <input type="SUBMIT" name="submit" value="search"/> 
</form> 
+0

在** <?php **之後的行中添加** ini_set('display_errors',1); **。 – user2182349

+0

@ user2182349相信或不相信,奇怪的是,(錯誤報告)不會拋出任何東西。使用POST數組和無(後)表單方法時,表單會自動失敗。 –

+1

如果您正在搜索,您可能想使用'like'或全文搜索而不是'='。 '='需要精確匹配。 – chris85

回答

2

您的形式不指定method缺省GET並且您正在使用$_POST陣列。

因此,您需要爲它指定一個「後」方法。

此外,請使用PDO而不是原始mysqli連接some very important benefits

+0

那裏是..謝謝!你是對的我必須指定我的方法! – ProblematicSolution