0

私のサイトには、GET を使用する検索機能があります。私は、GET ポストから単語を取り出し、SQL を使用して検索するコードを作成しようとしています。これは私ができることです:

$id = $_GET["search"];  
$searchTerms = explode(' ', $id);
$searchTermBits = array();
foreach ($searchTerms as $term) {
    $term = trim($term);
    if (!empty($term)) {
        $searchTermBits[] = "Name LIKE '%$term%'"
    }
}

$lol = mysql_query("SELECT * FROM database WHERE .implode(' AND ', $searchTermBits).")

何が間違っているのかわかりません。次のエラーが表示されます。

 You have an error in your SQL syntax;
 check the manual that corresponds to your MySQL server 
 version for the right syntax to use near '(' AND ', Array).' at line 1
4

3 に答える 3

0

implodeあなたの場合、文字列の一部にすぎません。引用符から取り出す必要があります。

mysql_query("SELECT * FROM database WHERE ".implode(' AND ', $searchTermBits))
于 2013-07-24T04:17:49.480 に答える
0
$lol = mysql_query("SELECT * FROM database WHERE .implode(' AND ', $searchTermBits).")

する必要があります

$lol = mysql_query("SELECT * FROM database WHERE ". implode(' AND ', $searchTermBits). "")
于 2013-07-24T04:17:50.683 に答える
0

このように二重引用符の外側に配置します。

mysql_query("SELECT * FROM database WHERE ".implode(' AND ', $searchTermBits))
于 2013-07-24T04:21:37.093 に答える