我想创建mysqli\u查询wish将返回一个基于id列表的数据库元组。
在sql中,查询将如下所示:
SELECT * FROM `tale_name` WHERE `id` in(1,2,3,4);
假设id放在一个名为$id\u array的php数组中,那么如何在php代码中编写相同的查询呢?
首先,我尝试了以下代码(但我知道这不是真的):
mysqli_query($this->conn, "SELECT * FROM `tale_name` WHERE
`id` in (".for ($i = 0; $i < count($id_array); $i++){ echo $id_array[$i]}.")");
似乎for循环不能与php中的mysqli\u查询结合使用。。。有什么建议吗?
2条答案
按热度按时间o2rvlv0m1#
你可以用
implode()
.用法:
string implode ( string $glue , array $pieces )
```mysqli_query($this->conn, "SELECT * FROM
tale_name
WHEREid
in (". implode(',', $id_array) .")");sg24os4d2#
这个
echo
函数用于输出。您需要构建一个变量,然后将其连接到字符串。你应该把它扔给一个int
但至少要防止sql注入,最好的做法是参数化查询。参数化版本:
然后使用
prepare
,bind_param
,和execute
在那个问题上。