在 mysqli 准备好的语句中使用数组:`WHERE .. IN(..)`查询[重复]

2023-12-07

假设我们有一个查询:

SELECT * FROM somewhere WHERE `id` IN(1,5,18,25) ORDER BY `name`;

以及要获取的 ID 数组:$ids = array(1,5,18,25)

有了准备好的陈述,它是adviced准备一个语句并多次调用它:

$stmt = $mysqli->prepare('SELECT * FROM somewhere WHERE `id`=?;');
foreach ($ids as $id){
    $stmt->bind_params('i', $id);
    $stmt->exec();
}

但现在我必须手动对结果进行排序。我有什么好的选择吗?


你可以这样做:

$ids = array(1,5,18,25);

// creates a string containing ?,?,? 
$clause = implode(',', array_fill(0, count($ids), '?'));


$stmt = $mysqli->prepare('SELECT * FROM somewhere WHERE `id` IN (' . $clause . ') ORDER BY `name`;');

call_user_func_array(array($stmt, 'bind_param'), $ids);
$stmt->execute();

// loop through results

使用这个你可以为每个id调用bind_param并且你可以通过mysql完成排序。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 mysqli 准备好的语句中使用数组:`WHERE .. IN(..)`查询[重复] 的相关文章

随机推荐

  • 使用三个 CSG 进行 3D 布尔运算

    按照此处的示例 http learning Threejs com blog 2011 12 10 constructive solid geometry with csg js 并使用 Three js 与https github com
  • cellDoubleClicked 文本 python

    我在使用 PyQt5 时遇到一个问题 我已经制作了一个 QTableWidget 它显示我之前在 pandas 中制作的 DataFrame 来自电子表格 我尝试做的不成功的事情是 从用户双击的单元格中获取文本 以便我可以使用该信息根据所做
  • 所有图像加载后如何发出警报?

    我正在构建一个 JavaScript 游戏 我想在加载所有图像后发出警报 我尝试了这段代码 但它不起作用 function loadEveryThing var imgNumber 0 img1 new Image img1 src 1 p
  • “#”附近的语法不正确。带有 SQL 数据库的 VB.net

    我正在尝试使用以下代码获取日期 今天的 Max 字段 Dim todaydate Format Today Date dd MM yyyy Dim sql1 As String Select max snum From tblbill wh
  • JButton 在鼠标悬停之前不可见

    我正在为我的项目创建一个图形用户界面 当 gui 首次加载时 只有背景可见 因此按钮不可见 但当鼠标悬停在按钮上时 它们是可见的 解决这个问题的办法是什么 public class Home extends JFrame New JPane
  • 在 Scala 中将嵌套案例类转换为嵌套映射

    我有两个嵌套案例类 case class InnerClass param1 String param2 String case class OuterClass myInt Int myInner InnerClass val x Out
  • Azure表存储存储多种类型

    对于以下场景 您有什么建议 我有一个名为 Users 的天蓝色表 其中列如下 首要的关键 RowKey 时间戳 名 LastName Email Phone 然后每个用户都有不同类型的任务 我们将它们称为TaskType1 和TaskTyp
  • jQuery:如果单击链接则添加类

    我在链接中调用 jquery 函数 onclick 例如 a class active href Content 1 a a href Content 2 a a href Content 3 a 正如您所看到的 第一个链接默认具有 act
  • 词形还原java [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在寻找一个词形还原Java 中英语的实现 我已经找到了一些 但我需要一些不需要太多内存来运行的东西 顶部 1 GB 谢谢 我不需要词干分析器 T
  • 在 webGL 中渲染 NURBS 曲面

    我需要一些有关在 webGL 中渲染 NURBS 曲面的帮助 几天前 我们的教授指派我们用 NURBS 绘制一面旗帜并为其制作动画 我们必须使用 webGL 并且不能使用 trhee js 我不知道如何继续 尽管我或多或少了解 NURBS
  • 将列表转换为集合会改变元素的顺序吗?

    当我做类似的事情时 U 1 0 0 0 0 0 1 0 set U 它给了我 0 0 1 0 1 0 0 0 我只想将列表转换为集合 有什么帮助吗 Thanks 套装未订购 字典也没有排序 如果您想保留特定顺序 请使用列表 gt gt gt
  • 是否有任何实际理由对 JSON 键使用带引号的字符串?

    根据克罗克福德的说法json org 一个 JSONobject由 制成由 做成members 它由pairs 每对都是由一个string and a value 有一个string被定义为 字符串是零个或多个的序列 Unicode 字符
  • Logstash 中的 JSON 解析器忽略数据?

    我已经这样做有一段时间了 我觉得 Logstash 中的 JSON 过滤器正在为我删除数据 我最初遵循的教程来自https www digitalocean com community tutorials how to install el
  • 具有基本身份验证的 jQuery AJAX 跨域

    我正在尝试通过将数据拉入网页来利用 Beanstalk beanstalkapp com API 以便人们无需访问我的 SVN 即可查看它 我正在尝试通过 jQuery 使用 AJAX 请求来访问它 代码如下 但每次都会出错 并且无法返回数
  • 如何将javascript变量值传递给php变量?

    这是我的 JavaScript 代码 我的html代码
  • 使用 Java 8 动态创建具有复合键的映射

    我想创建一个如下所示的地图 gt Map
  • 对 Google Drive 的 Python 请求

    我正在尝试使用 python requests 库将文件发送到 Google Drive api 我唯一需要它根据谷歌文档发送多部分请求https developers google com drive web manage uploads
  • TypeScript - 将类存储为映射值?

    我的课很少 Test 课程延伸FrameModel 我如何创建地图string的子类FrameModel import FrameModel from FrameModel import TestShipModel from TestGen
  • Android NDK:如何链接多个第三方库

    假设我们正在构建一个共享库 A 它需要链接到 2 个外部静态库 B 和 C 您所拥有的只是 libB a 和 libC a 以及它们的头文件 这是 libA 的简化 Android mk LOCAL LDLIBS external libB
  • 在 mysqli 准备好的语句中使用数组:`WHERE .. IN(..)`查询[重复]

    这个问题在这里已经有答案了 假设我们有一个查询 SELECT FROM somewhere WHERE id IN 1 5 18 25 ORDER BY name 以及要获取的 ID 数组 ids array 1 5 18 25 有了准备好