私のタイトルのように、検索バーで1または複数の単語を検索したいと言っています。 $ searchArray [0]、$ searchArray [1]、$($ searchArray [1]、$ searchArray [1])を実行すると、私はそれを行うことができます。 searchArray [2]が定義されています。問題は私が3単語よりもlesを検索できないことです。あなたたちは私が最初にそれは素晴らしいことだ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;
}}
:ここに私のコードです。前もって感謝します !
、以下のコードを試してみてください、これはSQLインジェクションに開いています。 (htmlspecialcharsはXSSの注射を妨げる可能性がありますが、SQLインジェクションには影響しません)。 – chris85
私はそれを理解したと思います!あなたは、mysql_real_escape_stringを使う必要がありますが、htmlspecialcharも必要ですか? –
mysql_ *を使用していますか?パラメータ化されたクエリは、SQLインジェクションから身を守る最善の方法です。変数はクエリには含まれません。ドライバはエスケープして引用符で囲みます。 – chris85