Reputation: 35
I have created a search for which displays the results, however in addition I also get this error:
( ! ) Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, string given on line 267
The line in question contains this:
while ($row = mysqli_fetch_array($query)) {
The below is the script after form posted:
<?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>';
}
}
}
}
?>
Upvotes: 0
Views: 38
Reputation: 72299
The main problem is require ("functions/connect.php");
You are again and again calling connect.php
which is not necessary.
Add it one time on top after starting <?php
and you will be good to go
Code need to be:-
<?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>';
}
}
}
}
?>
Upvotes: 1