尝试将mysql表中的多个值查询到php时出现问题
我有一个HTML页面,它将来自用户的多个输入作为数字代码,然后在另一个php页面中显示输出。从数据库表中检索数据 我的代码不起作用,你能帮我找出原因吗 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']}%'&
$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查询不支持预处理语句?难道你不能让你的答案更一致,更少自相矛盾吗?