尝试将mysql表中的多个值查询到php时出现问题

尝试将mysql表中的多个值查询到php时出现问题,php,mysql,sql,mysqli,Php,Mysql,Sql,Mysqli,我有一个HTML页面,它将来自用户的多个输入作为数字代码,然后在另一个php页面中显示输出。从数据库表中检索数据 我的代码不起作用,你能帮我找出原因吗 php代码: $var1 = "where CODE like '%{$_POST['AGI1']}%'"; $var2 = "where CODE like '%{$_POST['AGI2']}%'"; $var3 = "where CODE like '%{$_POST['AGI3']}%'&

我有一个HTML页面,它将来自用户的多个输入作为数字代码,然后在另一个php页面中显示输出。从数据库表中检索数据

我的代码不起作用,你能帮我找出原因吗

php代码:

$var1 = "where CODE like '%{$_POST['AGI1']}%'";
$var2 = "where CODE like '%{$_POST['AGI2']}%'";
$var3 = "where CODE like '%{$_POST['AGI3']}%'";
$var4 = "where CODE like '%{$_POST['AGI4']}%'";


$sql = "select * from table $var1" ;
$sql .= "select * from table $var2" ;
$sql .= "select * from table $var3" ;
$sql .= "select * from table $var4" ;

$result = mysqli_query($conn,$sql1, $sql2, $sql3, $sql4);
<form action="output.php" method="POST" >
<table>
        <div>  
            <h2 > AGI </h2> 
           <p><input name="AGI1"type="text"></p>
           <p><input name="AGI2" type="text"></p>
           <p><input name="AGI3" type="text"></p>
           <p><input name="AGI4" type="text"></p>
           <p> <input type="Submit" value="OK"></p>
            
        </div>  
    </form>
提前谢谢,我感谢所有的帮助。我还不熟悉使用php,所以如果这是一个愚蠢的问题,我很抱歉

编辑:

代码如下所示:

$var1 = "where CODE like '%{$_POST['AGI1']}%' OR CODE like '%{$_POST['AGI2']}%' OR CODE like '%{$_POST['AGI3']}%' OR CODE like '%{$_POST['AGI4']}%' "; 

$sql = "select * from proteinpd $var1;";
$result = mysqli_query($conn,$sql);
.
.
.


while($row = mysqli_fetch_array($result)){


它向我展示了所有表格的结果,而不仅仅是我选择的代码。为什么会这样

输入格式:

$var1 = "where CODE like '%{$_POST['AGI1']}%'";
$var2 = "where CODE like '%{$_POST['AGI2']}%'";
$var3 = "where CODE like '%{$_POST['AGI3']}%'";
$var4 = "where CODE like '%{$_POST['AGI4']}%'";


$sql = "select * from table $var1" ;
$sql .= "select * from table $var2" ;
$sql .= "select * from table $var3" ;
$sql .= "select * from table $var4" ;

$result = mysqli_query($conn,$sql1, $sql2, $sql3, $sql4);
<form action="output.php" method="POST" >
<table>
        <div>  
            <h2 > AGI </h2> 
           <p><input name="AGI1"type="text"></p>
           <p><input name="AGI2" type="text"></p>
           <p><input name="AGI3" type="text"></p>
           <p><input name="AGI4" type="text"></p>
           <p> <input type="Submit" value="OK"></p>
            
        </div>  
    </form>

AGI

数据库表结构:


当您组合sql查询时,需要使用
结束每个查询

$sql = "select * from table $var1;" ;
$sql .= "select * from table $var2;" ;
$sql .= "select * from table $var3;" ;
$sql .= "select * from table $var4;" ;
另请参见如何使用而不是
mysqli\u查询


请参阅官方文档中的。你也应该考虑重构你的代码以防止.< /p>有多个问题:-你连接SQL查询,但是它们之间没有分隔符,比如,另外,$sql没有在任何地方使用-mysqli_查询似乎有不同的接口(params)-为什么不在where子句中使用或?e、 g.“代码如‘aaa’或‘bbb’…”感谢您的回复。我编辑的代码与您告诉我的类似,所以现在看起来是这样的:
$var=“where类似“{$\u POST['AGI1']}%”的代码或类似“{$\u POST['AGI2']}%”的代码或类似“{$\u POST['AGI3']}%”的代码或类似“{$\u POST['AGI4']}%”的代码”$sql=“从表$var;中选择*”$结果=mysqli_查询($conn,$sql)但是现在它不是显示这个查询的结果,而是显示来自所有表的结果。知道为什么吗?谢谢:)您有单输入框字段还是多输入框字段?我在HTML页面中有多个输入字段,四个输入字段。那么,为什么要让多个输入字段搜索同一列
代码
?您难道没有意识到这样的查询对任务毫无意义吗?此外,OP应该如何根据您的答案重构代码,如果mysqli\u multi\u查询不支持预处理语句?难道你不能让你的答案更一致,更少自相矛盾吗?