2012-09-19 20 views
0

我有一個很大的問題。我允許用戶搜索感興趣的其他用戶。問題是,如果用戶鍵入多個空格,它將返回每個用戶(它甚至會複製一些空格)。我能做些什麼來阻止呢?空間返回表中的所有結果

這裏是我的代碼,以及所有你需要看到是怎麼回事:

$connect= mysqli_connect('localhost', '', '', 'shar31t'); 

    if (isset($_GET['interest']) && $_GET['interest'] != " ") { 
     $interest= rtrim($_GET['interest']); 
     $interest= mysqli_real_escape_string($connect, $interest); 
     $query= "SELECT user_id FROM interests WHERE interest LIKE 
      '%".$interest."%'"; 
     $result= mysqli_query($connect, $query); 
      } 

感謝

馬特

+0

使用[修剪](http://us.php.net/manual/en/function.trim.php)功能 – haynar

+0

爲什麼你有條件像'$ _GET ['interest']!=「」' ?我不瞭解那裏的空間。在「興趣」中輸入一個單獨的空間應該表達一些特殊的含義嗎?可能會檢查'!is_empty($ _ GET ['interest'])' –

+0

它最初是爲了防止一個空格輸入查詢。但它只有一個。此外,由於某些原因,空格通過!empty()條件 – user1592953

回答

2

隨着尼爾森的回答,做一個SELECT distinct user_id避免重複,因爲它似乎是一個用戶可以有多個興趣。

2

你應該更換你的下面一行:

if (isset($_GET['interest']) && $_GET['interest'] != " ") { 

這一個:

if (isset($_GET['interest']) && trim($_GET['interest']) != '') { 

應該防止空字符串到您的查詢。

+1

和「SELECT DISTINCT」來避免重複具有多個興趣的用戶。 – Brian

+0

爲什麼不使用'empty()'函數而不是'$ _GET ['interest']!=''' – Romuloux