PHP - 简单的条件不起作用

时间:2017-04-05 18:04:49

标签: php

我的php脚本非常奇怪。

$qType = filter_input(INPUT_GET, 'qType', FILTER_SANITIZE_NUMBER_INT);
if ($qType == 1) {
..
elseif ($qType == 3) { 
$prod = filter_input(INPUT_GET, 'prod', FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES);
    echo "prod = " . $prod;
    if ($prod == "SiHy")
        $strSQL = "SELECT * FROM dbo.table_s";
    else
        $strSQL = "SELECT * FROM dbo.table_fl";
..
}
echo $strSQL;

我这样打电话:

http://localhost/new.php?qType=3&prod="SiHy"

它始终返回 FROM dbo.table_fl 。即使我把条件设置为!=并将table_fl放在最上面,它总是返回 FROM dbo.table_s - >第二个$ strSQL值设置。

发生什么事了?我究竟做错了什么?似乎如果不起作用。

提前致谢, :rherry

1 个答案:

答案 0 :(得分:3)

我怀疑你传过引号。

所以要么改变你的条件

if ($prod == "\"SiHy\"")

或将您的网址更改为

http://localhost/new.php?qType=3&prod=SiHy