2016-05-31 5 views
1

können Sie mir sagen, was falsch ist? ich will „Ja“ ouput wenn Übereinstimmung gefunden wird und „Nein Ergebnis“ führen, wenn es kein Ergebnis ist .. es, dass es ouput etwas ..[PHP] [Mysql] kann nichts aus meiner If-Anweisung ausgeben. Weiß jemand, was schief gelaufen ist?

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

Hinzufügen ** ini_set ('display_errors', 1); ** in der Zeile nach ** user2182349

+0

@ user2182349 glauben Sie es oder nicht und komischerweise, dass (Fehlermeldung) wird sie nichts werfen. Formulare schlagen im Hintergrund fehl, wenn POST-Arrays und keine (Post-) Formularmethode verwendet werden. –

+1

Wenn Sie suchen, können Sie 'like' oder Volltextsuche anstelle von' = 'verwenden. Das '=' erfordert eine genaue Übereinstimmung .. – chris85

Antwort

2

Ihre Form ist nicht festgelegt method die standardmäßig nicht scheint zu erhalten und Sie verwenden $_POST Arrays.

Daher müssen Sie eine "Post" -Methode dafür angeben.

Schauen Sie auch in PDO anstelle von raw mysqli Verbindungen für some very important benefits.

+0

da ist es .. danke! Du hast recht Ich muss meine Methode angeben! – ProblematicSolution

Verwandte Themen