我的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
答案 0 :(得分:3)
我怀疑你传过引号。
所以要么改变你的条件
if ($prod == "\"SiHy\"")
或将您的网址更改为
http://localhost/new.php?qType=3&prod=SiHy