搜索结果显示但我也得到了错误

时间:2018-01-29 09:33:52

标签: php mysqli

我创建了一个显示结果的搜索,但是另外我也收到了这个错误:

  

(!)警告:mysqli_fetch_array()期望参数1为   mysqli_result,第267行给出的字符串

有问题的行包含:

while ($row = mysqli_fetch_array($query)) {

以下是表单发布后的脚本:



<?php   

//Search Members
if(isset($_POST["SearchMembersSubmit"])) { 

    $search = mysqli_real_escape_string($connect,$_POST['SearchMembers']);
    $search = preg_replace("#[^0-9a-z]i#","", $search);
	
    //Check Form is not blank
	if (empty($search)){
	    require ("functions/FileName.php");
		$msg = "<div class=\"alert alert-danger\">Please enter a search criteria</div>";

	}
	else {
		
	require ("functions/connect.php");
		
    $query = mysqli_query($connect,"SELECT RegUsername, RegFirstName, RegLastName, RegEmail FROM registered WHERE 
	RegUsername LIKE '%".$search."%'
	OR 
	RegFirstName LIKE '%".$search."%'
	OR 
	RegLastName LIKE '%".$search."%'
	OR 
	RegEmail LIKE '%".$search."%'") or die ("There was no search results!");
	$count = mysqli_num_rows($query);
	
    
    if($count == 0){
	 require ("functions/FileName.php");
	 $msg = "<div class=\"alert alert-danger\">There was no search results</div>";


    }else{
      
      while ($row = mysqli_fetch_array($query)) {
	   require ("functions/connect.php");
	   require ("functions/FileName.php");
	   
        $RegUsername = $row ['RegUsername'];
        $RegFirstName = $row ['RegFirstName'];
        $RegLastName = $row ['RegLastName'];
        $RegEmail = $row ['RegEmail'];
	      
		//The layout and what will be shown on page
        $msg .='<p><b>User:</b> '.$RegUsername.
		'<br><b>First Name:</b> '.$RegFirstName.
		'<br><b>Last Name:</b> '.$RegLastName.
		'<br><b>Email:</b> '.$RegEmail.
		'</p>
		<hr>';

      }

    }
  }
 }
?>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

主要问题是require ("functions/connect.php");

您一次又一次地呼叫connect.php,这是不必要的。

在启动<?php之后将其添加一次,您将很高兴

代码必须是: -

<?php   
require ("functions/connect.php"); //add files here
require ("functions/FileName.php"); //add files here

if(isset($_POST["SearchMembersSubmit"])) { 

    $search = mysqli_real_escape_string($connect,$_POST['SearchMembers']);
    $search = preg_replace("#[^0-9a-z]i#","", $search);

    //Check Form is not blank
    if (empty($search)){
        $msg = "<div class=\"alert alert-danger\">Please enter a search criteria</div>";

    }else {
        $query = mysqli_query($connect,"SELECT RegUsername, RegFirstName, RegLastName, RegEmail FROM registered WHERE 
        RegUsername LIKE '%".$search."%'
        OR 
        RegFirstName LIKE '%".$search."%'
        OR 
        RegLastName LIKE '%".$search."%'
        OR 
        RegEmail LIKE '%".$search."%'") or die ("There was no search results!");
        $count = mysqli_num_rows($query);

        if($count == 0){

         $msg = "<div class=\"alert alert-danger\">There was no search results</div>";

        }else{

            while ($row = mysqli_fetch_array($query)) {

                $RegUsername = $row ['RegUsername'];
                $RegFirstName = $row ['RegFirstName'];
                $RegLastName = $row ['RegLastName'];
                $RegEmail = $row ['RegEmail'];

                //The layout and what will be shown on page
                $msg .='<p><b>User:</b> '.$RegUsername.
                '<br><b>First Name:</b> '.$RegFirstName.
                '<br><b>Last Name:</b> '.$RegLastName.
                '<br><b>Email:</b> '.$RegEmail.
                '</p>
                <hr>';
            }
        }
    }
 }
?>