研究输入文本的mysql查询,PHP编码

时间:2017-02-03 15:54:00

标签: php mysql mysqli phpmyadmin

我有一个关于编写php页面的问题,我可以看到一个表(一个mysql表)但我必须在插入用户名,id_user,电子邮件或地址(例如)时过滤此表。我将复制我为单个字段编写的代码:

if (!isset($_GET['name']))
     $query = "not interesting";
else if($_GET['name'] != ''){
     $var145 = $_GET['name'];
     $query = "not interesting where `Name` = '$var145'";
}
else 
     $query = "not interesting";

这项工作非常好,因为当表单未发送时,它将显示所有表,当文本不为null时,它将显示带有过滤器的查询,当文本为null时,它将显示所有表。你知道怎么帮我吗?我不知道如何改进三个输入文本来研究更好的记录,因为我必须检查变量的存在然后决定做什么。抱歉我的英语不好,我希望你能理解我的问题。谢谢大家

1 个答案:

答案 0 :(得分:0)

尤里卡!这不是我能想象的最好的代码,但我发布它希望它对某人有用

$doc1_queryI = "SELECT * from t_history";
$var1 = 0;  //a
$var2 = 1;  //b
$var3 = 1;  //c
$var4 = 0;  //d
$varAnd =0;
if($var1==1 or $var2==1 or $var3==1 or $var4==1)
   $doc1_queryF = $doc1_queryI." where"; //se almeno una session esiste
if($var1==1){
   $doc1_queryF = $doc1_queryF." x=a ";
   $varAnd =1;
}
if($var2==1)
{
    if($varAnd==1)
       $doc1_queryF = $doc1_queryF." and ";
    $doc1_queryF = $doc1_queryF." y=b ";
    else
       $varAnd =1;
}
if($var3==1)
{
    if($varAnd==1)
        $doc1_queryF = $doc1_queryF." and ";
    $doc1_queryF = $doc1_queryF." z=c ";
    else
   $varAnd =1;
}
if($var4==1)
{
    if($varAnd==1)
        $doc1_queryF = $doc1_queryF." and ";
    $doc1_queryF = $doc1_queryF." p=d ";
}
echo $doc1_queryF;`