我使用for循環中的選擇。我遇到的問題是我在IN語句中有多個值。我知道IN(term_1, term_2)
我們需要一段時間來分隔每一個。當我使用for循環時,我不知道如何附加該句點。首先,它是在括號內而不是在最後。在這種情況下,如何在IN聲明中使用循環?
<?php
for ($i = 0; $i <= 8; $i++) {
$stm =$db->prepare("SELECT id FROM sign WHERE term IN (:term_$i) GROUP BY os.user_id order by COUNT(os.user_id) DESC ");
$stm->bindParam(":term_$i", $search_text[$i]);
$stm->execute();
}
?>
你不能這樣做那。我的意思是,你可以,但是在你的聲明中你不會得到更多的價值。用IN語句編寫的語句失敗。你必須全力以赴,自己擺脫這些價值。 – Halfstop 2015-02-23 21:19:42
謝謝!如果我不使用準備語句或MySQL準備,我還沒有嘗試過呢。但是當我有時間的時候。謝謝你的時間。 – conan 2015-02-23 21:29:04
@Halfstop - 其實你可以建立從一個簡單的數組準備的語句,使用'修剪(str_repeat(「?」,計數($值)),「」)'來設置一個簡單的''佔位符'? IN'語句,則值傳遞給綁定爲一個數組在'的execute()' – 2015-02-23 21:30:50