如何将 IN 子句与 mysqli 准备好的语句一起使用[重复]

2024-04-18

我正在使用准备好的语句将一些旧代码移至新的 msqli 接口,但我在使用包含 IN 子句的 SQL 语句时遇到了问题。我通常会这样做:

$ids = '123,535,345,567,878'
$sql = "SELECT * FROM table WHERE id IN ($ids)";
$res = mysql_query($sql);

将其转换为 mysqli 和准备好的语句我尝试了多种解决方案:

$ids = '123,535,345,567,878'
$ids = implode($ids,',');
$result = $msqli->prepare("SELECT foo,blar FROM table WHERE id IN (?));
$result->bind_param("i", $ids);
$result->execute();

上面的方法失败了,计算数组中的元素数量、更改 SQL 字符串中的问号数量以及为数组中的每个元素调用 bind_parm 也失败。仅使用逗号分隔的字符串也会失败。

我在谷歌上找不到这方面的好文档,那么你是如何解决这个问题的?


不可能将可变长度列表绑定到单个绑定变量。

同样,如果你要绑定字符串$ids你实际上最终会得到:

SELECT foo,blar FROM table WHERE id IN ('123,535,345,567,878')

(请注意 ID 列表周围的引号)。

使用正确数量的问号和绑定参数创建您自己的查询应该实际上有效 - 您可能需要再次尝试并报告实际错误。

或者,不幸的是,这可能是需要手工编写自己的 SQL 并且不使用绑定参数的情况之一。

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

如何将 IN 子句与 mysqli 准备好的语句一起使用[重复] 的相关文章

  • PHP:检测USB设备

    我正在尝试使用 PHP 将用户名和密码存储到 USB 拇指驱动器上的文本文件中 因此 当用户返回使用 USB 密钥登录时 应该会打开一个弹出窗口 并提示输入用户名和密码 所以我的问题是如何使用 PHP 检测 USB 拇指驱动器 所以客户端或
  • 在php中将数组写入文件并获取数据

    我有一个数组 使用后如下所示print r Array 0 gt Array 0 gt piklu name gt piklu 1 gt Array 0 gt arindam name gt arindam 2 gt Array 0 gt
  • facebook og:image 不会从与 URL 相呼应的 php 文件中获取图像

    facebook OG 从回显 URL 获取图像 这可能吗 因为我包含了一个 php 文件 它将回显图像 URL 但是当我签入共享调试器时 内容为空 我的元标签 gt 和 php 文件
  • PHPExcel输出乱码

    我正在尝试 PHPExcel 附带的简单示例 01simple xls 我得到乱码输出 它 LibreOffice 想要导入文件 它认为字符集是西欧 DOS OS2 861 icelandic 输出是这样的
  • 在订单项目视图中显示自定义产品数据

    我在添加到购物车时遇到问题 我有一个具有不同定制条件的产品可供选择 当客户选择特定选项时 它添加到购物车 当客户选择另一种选择并添加时 它显示为购物车中的第二件商品 这没关系 但付款后 订单在第 1 项和第 2 项下均显示自定义选项 但没有
  • Netbeans 8 和 xdebug 非常非常慢

    我读过有关此问题的其他帖子 但我无法在本地 Web 服务器 Windows 7 上的 apache 2 4 9 php 5 5 12 上使用 xdebug 2 2 5 和 netbeans 8 0 1 获得令人满意的性能 有些页面加载时间超
  • magento 删除管理菜单项

    在magento中 是否可以删除管理中的菜单项 我有一个新模块 并将评论和评级拉到一个新部分 我不反对将它们也留在目录部分 但如果可能 并且干净 我想将其从那里删除 将下一行添加到扩展 config xml 文件
  • Laravel 验证:对 null 的成员函数调用失败()

    这段代码几天前还可以工作 但我似乎做了一些事情导致它崩溃 我有这条路线 Route post admin routemanagement AdminController addRoute 看起来像这样 public function add
  • 对自定义 symfony 约束进行单元测试

    这应该非常简单 但今天下午它让我发疯 对自定义 symfony 验证器进行单元测试的正确方法是什么 我能找到的所有文章都与我的做法完全相同 class Foo extends Constraint public string message
  • PHP 中的循环数组

    我创建了一个由部分和问题组成的数组 如何循环浏览各个部分并显示每个部分的嵌套问题 这是我创建数组的方式 db db open query SELECT FROM assessment selections WHERE assessment
  • 如何记录 Doxygen 中不存在的变量?

    例如 我在配置文件中定义了 theme 全局变量 Doxygen 不处理该变量 但我想记录下来 我尝试这样做 var theme brief Active theme 但没有成功 您可以创建一个 doxygen 特定文件来记录变量 例如 配
  • Javascript 闭包与 PHP 闭包,有什么区别?

    JS 中的闭包和 PHP 中的闭包有什么区别 它们的工作方式几乎相同吗 在 PHP 中编写闭包时有什么需要注意的注意事项吗 一个区别是两者如何处理存储执行匿名函数的上下文 JavaScript var a 1 var f function
  • 比较 PHP 中的 unix 时间戳 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 在 PHP 中我有 diff abs
  • Codeigniter 处理大文件时允许的内存大小耗尽

    我发布此内容是为了防止其他人正在寻找相同的解决方案 因为我刚刚在这个废话上浪费了两天时间 我有一个 cron 作业 每天使用一个非常大的文件更新数据库一次 使用以下代码 if handle fopen dirname FILE uncomp
  • 如何向 opencart 管理添加新模块?

    我想在 opencart 管理中将子菜单项 位置 添加到 目录 菜单项 在选择位置时 我想看到我自己的位置管理视图页面 该页面与 opencart 数据库中我自己的位置表相互关联 请让我知道在哪里以及创建什么 mvc 才能在开放购物车中实现
  • Facebook 应用程序 - 此 URL 的域不包含在应用程序的域中。为什么?

    尝试使用 Facebook 应用程序登录时 我收到以下错误 无法加载 URL 此 URL 的域不包含在应用程序的域中 为了能够加载此 URL 请将应用程序的所有域和子域添加到应用程序设置中的 应用程序域 字段 如下图所示 URL http
  • json_decode 返回 null 并带有不同的引号

    json decode foo bar true 这有效 但是这个返回NULL json decode foo bar true The json last error 输出4 JSON ERROR SYNTAX 我检查了以下问题的一些答案
  • 修复 PHP 中格式错误的 HTML?

    我正在根据用户提供的片段构建一个大型 HTML 文档 这些用户有以各种方式格式错误的烦人习惯 浏览器足够强大且宽容 但我希望能够验证并 理想情况下 修复任何格式错误的 HTML 如果可能的话 例如 td b Title b td 可以合理地
  • 需要初学者 PHP 帮助

    我学习 PHP 一段时间了 我想要一个澄清 我见过preg match使用不同的分隔符号调用函数 例如 preg match and preg match 今天我还看到了 正在使用 我的问题分为两部分 所有字符都可以使用什么 有一个标准吗
  • 如何捕获生成器抛出的异常并恢复迭代?

    我有一个生成器 它将值的集合传递给方法并生成结果 调用的方法可能会返回异常 发生这种情况时 我希望异常转到调用生成器来处理异常的代码 然后继续循环生成器 为了说明这一点 下面是一个生成器的示例 它将产生1 抛出一个 Exception 然后

随机推荐

  • 如何使用 PDO 从 MySQL 获取数字类型?

    我正在使用 PDO 和 MySQL 由于某种原因 当从数据库获取 int 类型的值时 PDOStatement 返回数字的字符串表示形式 而不是数字类型的值 我该如何防止这种情况发生 我注意到 PDO 类有一个属性 PDO ATTR STR
  • jSoup 从 类获取文本

    我有一部分 HTML 文件 格式如下 h6 class uiStreamMessage span class messageBody Welcome span h6 在该文件中 还有其他跨度类 但我只想获取所有 messageBody 范围
  • Castle Windsor 或 Spring.NET - 优点和缺点 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在android中比较两个图像

    在我的应用程序中 我想使用相机捕获两个图像 然后我想比较这些图像 那么 如何比较两个图像呢 编辑 比较第一幅图像与第二幅图像的像素到像素完全相同 谢谢 1 检查高度是否匹配 如果不匹配则返回 false 然后 检查宽度是否匹配 如果不匹配
  • 如何获取从现在到未来时间的月数、周数、天数和小时数?

    我需要使用 Java 找出从现在到未来时间还剩多少月 周 天和小时 我不能使用像 Joda 这样的第三方库 我怎样才能只使用 JDK 类来做到这一点 到目前为止 这就是我想到的 除了某些情况之外 它有点有效 public class Dat
  • Hadoop 构建在 Windows 中失败:native.sln 中缺少 zconf.h?

    我正在尝试在使用 Windows 10 家庭版的开发计算机上构建以下 hadoop 版本 hadoop 2 7 3 src 以下是我本地开发环境的详细信息 Windows 10家庭版 英特尔酷睿 i5 6200U CPU 2 30GHz 内
  • 在某些 Android 设备中,Cordova 不会根据请求发送来源

    这是在某些 Android 设备上发生的问题 我有一个Samsung Galaxy A5 2017 与谷歌Chrome version 76 0 3809 89和 Android 版本 8 0 0 当我第一次在此设备上部署 Cordova
  • PopupMenuItem Click 和 MouseOver 的区别

    当菜单项有一个子菜单时 鼠标悬停在展开子菜单时会触发单击事件 这个点击事件和用户实际点击有什么区别吗 我使用 TPopupMenu 作为 cxButton 的下拉属性 EDIT德尔福2007 不确定这是否适用于 D2007 在 D7 中也是
  • 使用自定义 JsonConverter 来更改对象部分的序列化

    我很难重写自定义 JsonConverter 的 WriteJson 方法 以便稍微改变序列化的执行方式 我需要调用一个 REST 服务 该服务接受具有通用部分的特定输入 我可以使用以下有效负载格式重现我遇到的问题 public seale
  • 在 matplotlib python 中找到与 y 轴相对应的 x 轴值

    我正在尝试执行简单的任务 例如读取与 matplotlib 中 y 轴的值相对应的 x 轴的值 但我看不出出了什么问题 在这种情况下 我感兴趣的是 例如 如果我选择 x 2 0 我会得到 y 轴的哪个值 但我得到idx即使有数字 2 元组也
  • 在 WordPress 上建立数据库连接时出错

    我有一个 WordPress 博客 但是有时我对此有疑问 我遇到了打击错误 建立数据库连接时出错这要么意味着您的用户名和密码信息wp config php文件不正确或者我们无法联系数据库服务器 s 这可能意味着您主机的数据库服务器已关闭 如
  • 将动画 GIF 叠加在 MapView 上

    我一直在绞尽脑汁地试图让这个看似简单的任务发挥作用 我需要将一个动画 gif 放在地图视图上的叠加层中 我有以下代码 AnimationDrawable anim AnimationDrawable getResources getDraw
  • 在 Android 4.2 中写入全局设置

    Android 4 2引入了一个新类 设置 全局 http developer android com reference android provider Settings Global html 现在保存了一些以前的设置设置 安全 ht
  • 如何使用 Clockwork Rails 调度程序 Gem?

    我在 Clockwork 调度程序进程的语法方面遇到问题 实际上 我遇到了与此线程中讨论的类似问题 但从未完全回答 如何使用 Rails Clockwork gem 运行 rake 任务 https stackoverflow com qu
  • 将 pandas 列表数据框转换为数据框字典

    我有一个数据框 带有 DateTime 索引 其中一些列包含列表 每个列表有 6 个元素 In dframe head Out A B timestamp 2017 05 01 00 32 25 30 3512 375 1025 358 1
  • Windows 服务、阻塞收集和多线程问题

    我的场景 Windows 服务 NET 4 我轮询数据库中的实体 当新实体进来时 它们会被添加到BlockingCollection 在服务的OnStart我创建一个System Threading Tasks Task他的工作是枚举Blo
  • 为什么引用某些导出的 const 变量的某些 const 变量的值为 0?

    考虑以下 我有两个导出常量 如下所示 somefile h extern const double cMyConstDouble extern const double cMyConstDouble2 and somefile cpp co
  • IntelliJ IDEA - Eclipse .classpath 文件和相对位置?

    我想将 IntelliJ IDEA 与 Eclipse 项目一起使用 而不转换项目格式 我现在遇到的主要问题是在我的 classpath 文件中 我们有如下条目
  • Eclipse 中缺少“注释处理”菜单

    我用这个手册https github com excilys androidannotations wiki Eclipse Only Configuration https github com excilys androidannota
  • 如何将 IN 子句与 mysqli 准备好的语句一起使用[重复]

    这个问题在这里已经有答案了 我正在使用准备好的语句将一些旧代码移至新的 msqli 接口 但我在使用包含 IN 子句的 SQL 语句时遇到了问题 我通常会这样做 ids 123 535 345 567 878 sql SELECT FROM