次のようなテーブルで検索を試みています: http://www.phpjabbers.com/free-scripts/mysql-search-table/search.php
検索フォーム $_GET に応じて文字列を連結できることがわかったので、パラメーターを取得した後にすべてをクエリできます。
$query = "SELECT * FROM table WHERE status = 1"
if($_GET['param1']{
$query = $query." AND param1 = ?";
}
$stmt = $mysqli->prepare($query);
追加する必要がなければ、それは完璧です:
$stmt->bind_param('i',$_GET['art']);
この投稿の指示に従っていました: https://stackoverflow.com/a/11152781/679333、しかしワイルドカード部分は機能しませんでした。その for ループの代わりに、変数を配列にプッシュするときに変数を参照しました。
array_push($user_terms, &$_GET['var']);
動作しますが、「非推奨: 呼び出し時の参照渡しは非推奨です」という警告が表示されます。
Call-time pass-by-reference has now been killed from PHP を読んだので、警告を無視したくありません。