我有一个查询,它获取不同的用户ID,我试图将其转换为逗号分隔的字符串,我可以将其传递到WHERE子句中具有IN的另一个SQL查询。 但是我收到一个错误,说数组到字符串转换。
$qry0="SELECT DISTINCT id FROM users ";
$res0=getData($qry0);
while($row0=mysqli_fetch_array($res0))
{
$data0 = $row0['id'];
}
我试图将其转换为字符串,如下所示:
$array = explode(",", $data0);
并将其传递给另一个
$qry="SELECT * FROM login WHERE clientid IN(".$array.") ";
答案 0 :(得分:1)
使用内爆而不是爆炸:
$qry0="SELECT DISTINCT id FROM users ";
$res0=getData($qry0);
$data0 = array(); // initialize array first
while($row0=mysqli_fetch_array($res0))
{
$data0[] = $row0['id']; // create array like this
}
$array = implode(",", $data0); // use implode to convert array to string
答案 1 :(得分:0)
explode()函数将字符串分解为数组。要将数组拆分为字符串,需要使用implode()
$qry0="SELECT DISTINCT id FROM users ";
$res0=getData($qry0);
$data0 = array();
while($row0=mysqli_fetch_array($res0))
{
$data0[] = $row0['id'];
}
$array = implode(",", $data0);