php - mysqli数组到子查询中的mysql?
问题描述
我有这个选择:
$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”格式,然后您可以将该参数绑定到您的下一个查询。
推荐阅读
- javascript - 在 IE 中隐藏选择选项
- elasticsearch - 无法应用新的索引模板
- node.js - 我应该在生产中使用纱线工作区吗?
- python - 如何在 matplotlib 模块中更改错误栏的格式
- c# - 如何使用 Nest Fluent DSL 生成过滤的嵌套聚合?
- laravel - Laravel 限制不适用于超过 5k 条记录
- css - 使用 clipPathUnits="objectBoundingBox" 使剪辑路径消失
- payment - Sagepay 问题 - 在 3D 安全身份验证后检索交易不工作
- javascript - 如何在 JavaScript 中使用 Express 显示来自 RESTful API 的单个值
- laravel - 使用表单发送带附件的电子邮件