我使用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