我有这个选择:
$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的任何想法吗?
答案 0 :(得分:1)
实现此目的的一种方法是创建另一个字符串变量,并将$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"格式然后您可以将该参数绑定到下一个查询。