我创建了一个显示结果的搜索,但是另外我也收到了这个错误:
(!)警告: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;
答案 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>';
}
}
}
}
?>