Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从数据库返回一个结果的Mysql搜索查询_Php_Mysql_Forms_Search - Fatal编程技术网

Php 从数据库返回一个结果的Mysql搜索查询

Php 从数据库返回一个结果的Mysql搜索查询,php,mysql,forms,search,Php,Mysql,Forms,Search,我正在从我的一个小数据库表开发一个小型搜索引擎。但无论我搜索什么,它都只显示一个结果。请帮我正确地做那件事 谢谢 HTML格式: <form action="search_page.php" method="post"> <select name="search_type" id="search_type" required> <option value="*" selected disabled>Search By...</op

我正在从我的一个小数据库表开发一个小型搜索引擎。但无论我搜索什么,它都只显示一个结果。请帮我正确地做那件事

谢谢

HTML格式:

<form action="search_page.php" method="post">
    <select name="search_type" id="search_type" required>
        <option value="*" selected disabled>Search By...</option>
        <option value="name">Name</option>
        <option value="mailing_address">Mailing Address</option>
        <option value="permanent_address">Permanent Address</option>
        <option value="current_prof_1">Profession</option>
    </select>
    <input type="search" name="search" placeholder="Search Here..." required>
    <button type="submit" name="search_start" class="search_button">Search</button>
</form>

按…搜索。。。
名称
通讯地址
永久地址
职业
搜寻
和php查询代码:

 <?php
    if (isset($_POST['search_start'])) {
        $search_by = $_POST['search_type'];
        $search_for = $_POST['search'];

        $search_query="SELECT * FROM member Where $search_by like '%$search_for%'";
        $search_pull = mysqli_query($connection, $search_query);
        $search_count = mysqli_num_rows($search_pull);
        if ($search_count > 0 ) {
            $serial = 1;
            while ($row = mysqli_fetch_array($search_pull)) {
                $member_id = $row["id"];
                $name = ucwords($row["name"]);
                $batch = $row["batch"];

                $search_members ="<tr>";
                $search_members .="<td>$serial</td>";
                $search_members .="<td>$name</td>";
                $search_members .="<td>$batch</td>";
                $search_members .="</tr>";
                ++$serial;
            }
        }
    }
?>
更改

$search_members ="<tr>";
$search_members=”“;

$search_成员=”;
每次在循环中都初始化打印字符串

您需要将其与相应的记录连接起来

有了这个输入错误,您的结果就是每次都在while循环中用最新的记录来完成

另外,请初始化

$search\u members=''

如果返回零行,则在while循环之前,它不应返回未定义的变量错误。

更改

$search_members ="<tr>";
$search_members=”“;

$search_成员=”;
每次在循环中都初始化打印字符串

您需要将其与相应的记录连接起来

有了这个输入错误,您的结果就是每次都在while循环中用最新的记录来完成

另外,请初始化

$search\u members=''


如果返回零行,则在执行while循环之前,它不应返回未定义的变量错误。

将代码替换为:

<?php
if (isset($_POST['search_start'])) {
    $search_by = $_POST['search_type'];
    $search_for = $_POST['search'];

    $search_query="SELECT * FROM member Where $search_by like '%$search_for%'";
    $search_pull = mysqli_query($connection, $search_query);
    $search_count = mysqli_num_rows($search_pull);
    if ($search_count > 0 ) {
        $serial = 1;
        $search_members='';
        while ($row = mysqli_fetch_array($search_pull)) {
                $member_id = $row["id"];
                $name = ucwords($row["name"]);
                $batch = $row["batch"];

                $search_members .="<tr>";
                $search_members .="<td>$serial</td>";
                $search_members .="<td>$name</td>";
                $search_members .="<td>$batch</td>";
                $search_members .="</tr>";
                ++$serial;
            }
        }
    }
?>

将代码替换为:

<?php
if (isset($_POST['search_start'])) {
    $search_by = $_POST['search_type'];
    $search_for = $_POST['search'];

    $search_query="SELECT * FROM member Where $search_by like '%$search_for%'";
    $search_pull = mysqli_query($connection, $search_query);
    $search_count = mysqli_num_rows($search_pull);
    if ($search_count > 0 ) {
        $serial = 1;
        $search_members='';
        while ($row = mysqli_fetch_array($search_pull)) {
                $member_id = $row["id"];
                $name = ucwords($row["name"]);
                $batch = $row["batch"];

                $search_members .="<tr>";
                $search_members .="<td>$serial</td>";
                $search_members .="<td>$name</td>";
                $search_members .="<td>$batch</td>";
                $search_members .="</tr>";
                ++$serial;
            }
        }
    }
?>


如果我是您,我会首先关注SQL注入漏洞…成员id。您如何处理该漏洞?问题已经解决。谢谢大家@草莓,我只是在练习搜索过程。如果我是你的话,我会首先关注SQL注入漏洞…成员id。你怎么处理这个问题?问题已经解决了。谢谢大家@草莓,我只是在练习搜索过程。别忘了将
$search\u members
初始化为循环外的空字符串。非常感谢。问题已经解决了。我已经在循环外有一个空字符串。不要忘记将
$search\u members
初始化为循环外的空字符串。非常感谢。问题已经解决了。我已经在循环外有一个空字符串了。谢谢你,阿米特。。。已解决,但您的答案也是正确的…@pol请接受答案。所以这对某人来说是有帮助的。嗨,阿米特,事实上两个答案都是一样的。此外,我有问题接受多个答案在同一时间。谢谢阿米特。。。已解决,但您的答案也是正确的…@pol请接受答案。所以这对某人来说是有帮助的。嗨,阿米特,事实上两个答案都是一样的。此外,我有问题接受多个答案在同一时间。