使用php简单搜索MySQL数据库

Tim*_*ous 5 php

我目前有一个小的PHP脚本,可以根据用户输入搜索数据库.有一个html文件,其中有一个字段用于将搜索字符串输入数据库.从本质上讲,您可以搜索员工.

如果找到,则应该检索员工结果,如果没有,则检索"没有员工找到"消息.

但是,出于某种原因,无论搜索如何,查询都会返回数据库中的每个员工.

我一直在研究这个问题超过一个小时,老实说我很难过.这可能是一个简单的错误,但我可以提供一些帮助.

<?php
    $con= new mysqli("localhost","root","","Employee");
    $name = $_post['search'];
    //$query = "SELECT * FROM employees
   // WHERE first_name LIKE '%{$name}%' OR last_name LIKE '%{$name}%'";

    // Check connection
    if (mysqli_connect_errno())
      {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
      }

$result = mysqli_query($con, "SELECT * FROM employees
    WHERE first_name LIKE '%{$name}%' OR last_name LIKE '%{$name}%'");

while ($row = mysqli_fetch_array($result))
{
        echo $row['first_name'] . " " . $row['last_name'];
        echo "<br>";
}
    mysqli_close($con);
    ?>
Run Code Online (Sandbox Code Playgroud)

任何帮助赞赏.

谢谢.

Jac*_*cob 9

您需要使用$_POST$_post.


小智 5

首先添加HTML代码:

<form action="" method="post">
<input type="text" name="search">
<input type="submit" name="submit" value="Search">
</form>
Run Code Online (Sandbox Code Playgroud)

现在添加了PHP代码:

<?php
$search_value=$_POST["search"];
$con=new mysqli($servername,$username,$password,$dbname);
if($con->connect_error){
    echo 'Connection Faild: '.$con->connect_error;
    }else{
        $sql="select * from information where First_Name like '%$search_value%'";

        $res=$con->query($sql);

        while($row=$res->fetch_assoc()){
            echo 'First_name:  '.$row["First_Name"];


            }       

        }
?>
Run Code Online (Sandbox Code Playgroud)