2017-09-15 23 views
0

私はここにいます私はページに表示せずにデータをフィルタリングすることに問題があります。 エラーが発生しました。私を助けてください。悪い英語を申し訳ありません。データをフィルタリングする際にエラーが発生しました

エラー:

Notice: Undefined variable: search_result in /storage/ssd3/688/2645688/public_html/test.php on line

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in /storage/ssd3/688/2645688/public_html/test.php on line

<?php 
 
if(isset($_POST['submit'])) 
 
{ 
 
    $valueToSearch = $_POST['search']; 
 

 
$query = "SELECT * FROM `login` WHERE CONCAT(`id`, `username`, `password`) LIKE '%".$valueToSearch."%'"; 
 
    $search_result = filterTable($query); 
 
    
 
} 
 

 
function filterTable($query) 
 
{ 
 

 
$connect= mysqli_connect("localhost","root","","cable"); 
 
$filter_Result = mysqli_query($connect, $query); 
 
    return $filter_Result; 
 
} 
 

 
?> 
 
<form action="test.php" method="POST"> 
 
<div class="container"> 
 
\t <div class="row"> 
 
     <br><br><div class="search"> 
 
<input type="text" name="search" class="form-control input-sm" maxlength="64" placeholder="Search" /> 
 
<button type="submit" name="submit" class="btn btn-primary btn-sm">Search</button> 
 
</div> 
 
\t </div> 
 
</div> 
 
</br></br> 
 
</form> 
 

 
<table> 
 
       <tr> 
 
        <th>Id<br></th> 
 
        <th>Username:</th> 
 
        <th>Password</th> 
 
        </tr> 
 
              <?php while($row = mysqli_fetch_array($search_result)):?> 
 

 
       <tr> 
 
        <td><?php echo $row['id'];?><br></td> 
 
        <td><?php echo $row['username'];?></td> 
 
        <td><?php echo $row['password'];?></td> 
 
        
 
       </tr> 
 
       <?php endwhile;?> 
 
      </table>

+1

が存在しない場合があることを念頭に置いてそれを維持する必要がある上に機能を置きます。あなたのfilterTable($ connect、$ query)に親切に$ connectを追加してください。 –

答えて

0

あなたがエラーを取得しているページがロードif(isset($_POST['submit']))したがって$search_result = filterTable($query); falseの場合理由は実行され、これmysqli_fetch_arrayNULLを取得していません。

ソリューションは単純で、我々は、ページのロード時に何$search_result

<?php 
$search_result = NULL; 

if(isset($_POST['submit'])) 
{ 
    $valueToSearch = $_POST['search']; 
    $query = "SELECT * FROM `login` WHERE CONCAT(`id`, `username`, `password`) LIKE '%".$valueToSearch."%'"; 
    $search_result = filterTable($query); 
} 

function filterTable($query) 
{ 
    $connect= mysqli_connect("localhost","root","","cable"); 
    $filter_Result = mysqli_query($connect, $query); 
    return $filter_Result; 
} 

?> 
<form action="test.php" method="POST"> 
<div class="container"> 
    <div class="row"> 
     <br><br><div class="search"> 
<input type="text" name="search" class="form-control input-sm" maxlength="64" placeholder="Search" /> 
<button type="submit" name="submit" class="btn btn-primary btn-sm">Search</button> 
</div> 
    </div> 
</div> 
</br></br> 
</form> 

<table> 
       <tr> 
        <th>Id<br></th> 
        <th>Username:</th> 
        <th>Password</th> 
        </tr> 
              <?php if(!empty($search_result)): while($row = mysqli_fetch_array($search_result)):?> 

       <tr> 
        <td><?php echo $row['id'];?><br></td> 
        <td><?php echo $row['username'];?></td> 
        <td><?php echo $row['password'];?></td> 

       </tr> 
       <?php endwhile; endif; ?> 
      </table> 
+0

この男は正しいです。ページを読み込むとエラーになります$ search_resultはNULL/undefinedになります。 –

+0

ありがとう。 –

+0

@IrfanBashir助けがあればupvoteか答えを受け入れてください –

関連する問題