我有这个选择:
$stmt = $mysqli->prepare("select following from following where user =? and block=0");
$stmt->bind_param('i', $user);
$stmt->execute();
$stmt->bind_result($followers);
$stmt->fetch();
$stmt->close();
我想在另一个 mysql 连接中使用 $followers:
select... from ... where (p.user in (?))
在此?
我想将 $followers 变量以格式放置在 mysql 中。 (1,5,7,2)。
有什么想法如何将bind_result $followers转换成这个mysql格式吗?
最佳答案
实现此目的的一种方法是创建另一个字符串变量,并将 $followers
的结果附加到 while
循环中。
我通常采用程序风格工作,并且我假设您的语句将多行返回到 $followers
中:
$sql_in_string = ''; // initialize string variable as blank
while (mysqli_stmt_fetch($stmt)){
$sql_in_string = $sql_in_string . $followers . "," ; // append value + comma
}
$sql_in_string = rtrim($sql_in_string,","); // remove the final comma
此时,$sql_in_string
的值应为“1,2,3”格式,然后您可以将该参数绑定(bind)到下一个查询。
关于php - mysqli数组到子查询中的mysql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50262678/