在搜索中,我想搜索年齡範圍。
,如果用戶插入「 - 」輸入包括像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 –