我試圖做這樣的一個表中進行搜索,一些參數的數目不詳:http://www.phpjabbers.com/free-scripts/mysql-search-table/search.php結合使用的mysqli
我想通了,我可以串連取決於搜索表單$ _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']);
它的工作原理,但我現在得到一個「不推薦使用:在調用的時候傳遞通過引用已棄用」的警告。
我不想忽略這個警告,因爲我讀取的調用時間通過引用現在已經從PHP中被殺死。
循環首席如何? – wesside
我不知道如何將值轉換爲循環中的引用(如果我將變量推送到沒有引用的數組中,值將被推送,而不是引用)。 $ stmt-> bind_param()需要引用,而不是值。 – Kirby
將參考值添加到數組中,如果不對其排序,它將保持順序。準備好語句後,遍歷該數組並綁定參數。 – wesside