就像我的標題說的,我想在搜索欄中搜索1個或多個詞。我希望能夠搜索(整個搜索,第一個詞,第二個詞或第三個詞)。我做到這一點我可以做到這一點,如果$ searchArray [0],$ searchArray [1]和$ searchArray [2]被定義。問題是我不能搜索超過3個字。這裏是我的代碼:我想在搜索欄中搜索多個詞
if(isset($_GET['search']) AND !empty($_GET['search']) AND $_GET['search'] != ' '){
$search = htmlspecialchars($_GET['search']);
$searchArray = explode(' ',$search);
var_dump($searchArray);
$totalVideosReq = $stdb->query('SELECT id FROM videos WHERE title LIKE "%'.$search.'%" OR title LIKE "%'.$searchArray[0].'%" OR title LIKE "%'.$searchArray[1].'%"');
$totalVideos = $totalVideosReq->rowcount();
$totalPages = ceil($totalVideos/$videosPerPage);
$videos = $stdb->query('SELECT id, title, videoTime FROM videos WHERE title LIKE "%'.$search.'%" OR title LIKE "%'.$searchArray[0].'%" OR title LIKE "%'.$searchArray[1].'%" ORDER BY id DESC limit '.$start.','.$videosPerPage);
$currentPage = 1;
if(isset($_GET['page']) AND !empty($_GET['page']) AND $_GET['page'] > 0 AND $_GET['page'] <= $totalPages){
$_GET['page'] = intval($_GET['page']);
$currentPage = $_GET['page'];
}else{
$currentPage = 1;
}}
,如果你們知道我可以使它甚至通過搜索3個字的組合:第一,將是巨大的更好。先謝謝你 !
構建查詢動態,還可以使用參數化查詢,這是開放的SQL注入。 (htmlspecialchars可能阻礙XSS注入,它對SQL注入沒有影響)。 – chris85
我想我想通了!你需要使用:mysql_real_escape_string,但你是否也需要htmlspecialchar? –
你正在使用'mysql_ *'嗎?參數化查詢是保護SQL注入安全的最佳方法。變量不在查詢中,您讓驅動程序轉義並引用它們。 – chris85