在搜索中,我想搜索年龄范围。
,如果用户插入“ - ”输入包括像10-30这样 我将显示人名单年龄大于10且小于30
我的问题
$q = mysql_real_escape_string(htmlspecialchars("user input from search field"));
从这里进入查询前我想提出两个条件, 一:如果用户输入中有' - '或者不是?如果是的话,我想查询,如果不是另一种方式。
那么,我怎样才能进入第一个条件?
在搜索中,我想搜索年龄范围。
,如果用户插入“ - ”输入包括像10-30这样 我将显示人名单年龄大于10且小于30
我的问题
$q = mysql_real_escape_string(htmlspecialchars("user input from search field"));
从这里进入查询前我想提出两个条件, 一:如果用户输入中有' - '或者不是?如果是的话,我想查询,如果不是另一种方式。
那么,我怎样才能进入第一个条件?
这将工作:
// use strpos() because strstr() uses more resources
if(strpos("user input from search field", "-") === false)
{
// not found provides a boolean false so you NEED the ===
}
else
{
// found can mean "found at position 0", "found at position 19", etc...
}
什么不该做
if(!strpos("user input from search field", "-"))
上面的例子会搞砸你过去,因为strpos()
可以返回一个0(零)这是一个有效的字符串位置,就像它一样是一个有效的数组位置。
这就是为什么它是绝对强制性检查=== false
只需使用此功能strstr:
$string= 'some string with - values ';
if(strstr($string, '-')){
echo 'symbol is isset';
}
sergio,虽然你的回答是正确的使用MonkeyZeus的解决方案是更少的内存密集型。 – PseudoNinja
同意,这只是解决任务的方法之一 – sergio
什么是你的预算是多少?如果你想要我们制作所有的代码,你不希望它是免费的,对吧? – h2ooooooo
[strpos()](http://us3.php.net/strpos) – Sharlike
谢谢你,我有一个很好的ROLMFHO时刻@ h2ooooooo –