PHP连接要在SQL查询中使用的字符串

时间:2017-09-17 11:25:19

标签: php sql mysqli concatenation

让我说我有6个变量都是字符串。我想把它们变成一个长串。

但是我只想把那些不等于" *"在。 例如:

.on('error')

我非常确定使用'。'连接多个语句。

但我不知道如何将它们正确地分成可以在

中使用的字符串
    $x = $_POST["x"]; ($x = "abcde")
    $y = $_POST["y"]; ($y = "fghijk")
    $z = $_POST["z"]; ($z = "lmnop")
    $a = $_POST["a"]; ($a = "*")
    $b = $_POST["b"]; ($b = "qrstu")
    $c = $_POST["c"]; ($c = "vwxyz")
    Wanted Output:
    $alpha = "abcdefghijklmnopqrstuvwxyz"

    Solution i want to have
    $alpha = if($a !="*"){$a}else{""}.
             if($b !="*"){$b}else{""}.
             if($c !="*"){$c}else{""}.
             if($d !="*"){$d}else{""}.
             if($e !="*"){$e}else{""}.
             if($f !="*"){$f}else{""}

变量$ x,$ y,$ z,$ a,$ b,$ c都可以是" *"在一个场合。这就是为什么我想过滤它们,如果它们是星号。

(我知道" abcdefghijklmnopqrstuvwxyz"不是一个正确的查询。我只是用字母代替我想要的查询部分。我希望某些部分不在查询中价值是什么)

简而言之。当变量=" *"

时,我如何连接上述语句,从而将各部分排除在外

1 个答案:

答案 0 :(得分:0)

您可以简单地用短手if / else逻辑或三元运算符连接字符串。

 $alpha =   ($a =="*" ? "" : $a) .
            ($b =="*" ? "" : $b) .
            ($c =="*" ? "" : $c) .
            ($d =="*" ? "" : $d) .
            ($e =="*" ? "" : $e) .
            ($f =="*" ? "" : $f) ;

您可以找到三元运算符here的详细示例。