IN
行うには、「ファジー」あなたのような何かをする必要があります検索、リテラル検索を行います。
$query = "SELECT * FROM sites WHERE ".implode(" OR ", array_fill(0,count($search),"site_keywords LIKE ?");
//Query looks like SELECT * FROM sites WHERE site_keywords LIKE ? OR site_keywords LIKE ?
$search = array_map(function ($v) {
return "%$v%";
},$search);
今結合のために、それはあなたが使用しているものによって異なります。
//MySQLi
$stmt = mysqli_prepare($connection, $query);
mysqli_stmt_bind_param($stmt, array_fill(0,count($search),"s"), ...$search); //Note, you may bet some issues with references here.
mysqli_stmt_execute($stmt);
//PDO
$stmt = $connection->prepare($query);
for ($i = 0;$i< $search;$i++) {
$stmt->bindValue($i+1,$search[$i]);
}
$stmt->execute();
あなたのスクリプトは、[SQLインジェクション攻撃]の危険にさらされている(http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)を見てください[リトル・ボビー・テーブル](http://bobby-tables.com/)でも起こったこと[あなたが入力を逃れているなら、それは安全ではない!](http://stackoverflow.com/questions/5741187/sql-injection- that-gets-around-mysql-real-escape-string)[prepared parameterized statements](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)を使用してください。 –
mysqli_query()を使用してクエリを実行してください。 – urfusion
'$ _REQUEST ['user_query']'は配列ですか? –