如何在PHP中搜索每一列

如何在PHP中搜索每一列,php,html,Php,Html,我想从phpmyadmin中搜索数据库,但结果搜索仅在第一列中完成,这意味着结果仅显示第一列的数据 我尝试了下面的代码,结果只显示了(college)列,这是第一列 <!DOCTYPE html> <html> <head> </head> <body> <form action="college.php" method="post"> <select name=type>

我想从phpmyadmin中搜索数据库,但结果搜索仅在第一列中完成,这意味着结果仅显示第一列的数据

我尝试了下面的代码,结果只显示了(college)列,这是第一列

<!DOCTYPE html>
<html>
<head>
</head>
<body>    
    <form action="college.php" method="post">
        <select name=type>
            <option vlaue="college">college</option>
            <option vlaue="supervisor">supervisor</option>
            <option value="pro_name">prog_name</option>
        </select>
        <label align='right'>search about</label><br>
        <input type="text" name="valueToSearch">
        <label align='right'>search</label><br>
        <input type="submit" name="search" value="search">
   </form><br><br>
<?php
    if(isset($_POST['search'])) {
        $valueToSearch = $_POST['valueToSearch'];
        $query = "SELECT * FROM `programs` WHERE CONCAT(`college`, 
        'supervisor', 'pro_name') LIKE '%".$valueToSearch."%'";
        $search_result = filterTable($query);
    } else {
        $query = "SELECT * FROM `programs`";
        $search_result = filterTable($query);
    }
    // function to connect and execute the query
    function filterTable($query) {
        $connect = mysqli_connect("localhost", "root", "", "IAU");
        $filter_Result = mysqli_query($connect, $query);
        return $filter_Result;
    }
?> 
    <table border="1">
        <caption><b>البرامج</b></caption>
        <tr>
            <th align=right>college</th>
            <th align=right>supervisor</th>
            <th align=right>prog_name</th>
        </tr>
        <?php while($row = mysqli_fetch_array($search_result)):?>
        <tr>
            <td align=right><?php echo $row['college'];?></td>
            <td align=right><?php echo $row['supervisor'];?></td>
            <td align=right><?php echo $row['prog_name'];?></td>
        </tr>
        <?php endwhile;?>
    </table>   
</body>
</html>

学院
监督人
程序名
搜索关于
搜索


在sql中

 $query = "SELECT * FROM `programs` WHERE CONCAT(`college`,'supervisor', 'pro_name') LIKE '%".$valueToSearch."%'";
只有
college
被解释为字段名,因为它有反勾号


主管和专业人员的姓名用单引号引起来。将所有这些放在反勾中,它应该正确显示结果。

 $query = "SELECT * FROM `programs` WHERE CONCAT(`college`,`supervisor`, `pro_name`) LIKE '%".$valueToSearch."%'";

从“%$valuetosearch%”这样的大学或“%$valuetosearch%”这样的主管的计划中选择*
等等……没有?可能重复提供工作解决方案世界上谁在投反对票?我在发布之前已经测试过这段代码。有礼貌地说出这样做的原因。这是一个重复的B。它没有警告SQL查询串联的陷阱。@Dharman(a)你说过它是“可能的”重复。(B)可能的重复链接是在我的回答之后添加的(C)OP得到了工作代码,因为他想知道为什么他的代码不工作,他不想知道串联的陷阱。(D) 您未能提供更好的代码。(E) 当你没有答案的时候,你应该为自己的否决投票感到羞耻,并阻止帮助别人。羞耻。