PHP PDO MySQL IN (?,?,?

2024-01-20

我想写一个MySQL语句,例如:

SELECT * FROM someTable WHERE someId IN (value1, value2, value3, ...)

这里的技巧是我事先不知道 IN() 中有多少个值。

显然我知道我可以通过字符串操作生成查询,但是由于这将在循环中运行,我想知道是否可以使用 PDOPreparedStatement 来完成它。

就像是:

$query = $PDO->prepare('SELECT * FROM someTable WHERE someId IN (:idList)');
$query->bindValue(':idList', implode(',', $idArray));

那可能吗?


按照您尝试的方式,这是不可能的。对于要传入的每个参数,您必须有一个单独的占位符,其他所有内容都会违背参数的目的(即将代码与数据分开)。

$ids = array(2, 4, 6, 8);

// prepare a string that contains ":id_0,..,:id_n" and include it in the SQL
$plist = ':id_'.implode(',:id_', array_keys($ids));
$sql   = "SELECT * FROM someTable WHERE someId IN ($plist)";
// prepare & execute the actual statement
$parms = array_combine(explode(",", $plist), $ids);
$stmt  = $PDO->prepare($sql);
$rows  = $stmt->execute($parms);

如果允许您在绑定期间将值数组传递给单个参数,则实际上将允许您更改 SQL 语句。这将是 SQL 注入的一个漏洞 - 毕竟没有什么可以保证所有数组值都是无辜的整数。

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

PHP PDO MySQL IN (?,?,? 的相关文章

  • PHP 开发相当于 Mongrel/Webrick 吗?

    PHP 开发中是否有与 Rails 开发期间使用 Mongrel Webrick 等效的方法 我通常在端口 3000 上使用 Mongrel 在开发过程中为我的 Rails 应用程序提供服务 我从事 PHP 开发已经有几年了 据我所知 方法
  • 如何将 HTML 转换为 Markdown?

    我有一个类似 stackoverflow 的网站 有一个文本区域 人们可以在其中写答案 我用这个 PHP 库 http parsedown org 转换降价 我的意思是我使用该函数来转换 italic to i italic i inclu
  • 在 Laravel 5 中截断表

    描述 我有一个充满测试数据的表 有时 我想清除它以获取新数据 我可以在 DBMS 应用程序中执行截断 例如MySQL 工作台 但我试图在我的应用程序中实现它 Goal 创建一个按钮 单击时截断数据库中的表 这是我的步骤 1 声明一条路线 R
  • 负载平衡集群中的 PHP 会话 - 如何?

    好的 我得到了这个完全罕见的负载平衡 PHP 网站的独特场景 令人遗憾的是 它过去没有进行负载平衡 现在我们开始遇到问题 目前唯一的问题是 PHP 会话 当然 一开始没有人想到这个问题 因此 PHP 会话配置保留为默认值 因此 两台服务器都
  • 如何通过php的require()或include()函数传递变量?

    当我使用这个时 require diggstyle code php page page no 警告是 无法打开流 第 198 行 C xampp htdocs 4ajax gallery core php 中没有错误 错误是 Failed
  • 如何使用 Twig 的属性函数访问嵌套对象属性

    我试图使用一个树枝变量来访问另一个树枝变量的属性 直到我找到 属性 函数为止 该变量才起作用 除了需要访问嵌套属性的情况外 效果很好 当包含属性的变量实际上是对象 属性时 它不起作用 例如 attribute object1 variabl
  • 如何阻止直接访问我的 JavaScript 文件?

    我使用 Minify 来缩小并缓存所有脚本请求 我只希望我的用户能够访问 JavaScript 文件的缩小版本 缩小位于www example com min我的脚本位于www example com scripts 如何阻止直接访问doc
  • 限制自己超载外部 API 的速率

    我发现了很多信息和脚本示例 展示了如何对 API 用户进行速率限制 但我无法找到任何示例来说明在施加这些限制时如何对您自己的 API 请求进行速率限制 我总是用诸如以下的代码来限制我的脚本sleep or usleep命令 但感觉这是一种低
  • 如何在Mysql中仅将不同的值从一个表复制到另一个表?

    我有一个大约 2 5GB 的 MySql 数据库 表 A 具有以下列 anoid query date item rank url 我刚刚创建了另一个仅包含列的表 b query and date 我想在查询列中插入所有不同的记录 及其各自
  • Magento - 检查 cms 页面

    我想通过 php 检查页面是否是 Magento 中的 cms page 我需要不同的 cms 页面面包屑 所以我尝试在一个条件下做到这一点 但我不知道如何或在哪里查看 到目前为止 这是我的 breadcrumbs phtml p some
  • Laravel 5 中的自定义验证器

    我正在将 Laravel 应用程序从 4 升级到 5 但是 我有一个自定义验证器 但无法运行 在L4中 我做了一个验证器 php文件并将其包含在全局 php using require app path validators php 我尝试
  • 使用php将数据存储到文本文件中?

    我正在尝试将数据存储在文本文件中 例如使用 php 将数组存储到文本文件中 而不是存储到 mysql 数据库中 例如 这里是要存储在文本文件中的数据 name gt john age gt 25 location gt australia
  • 无法通过套接字“/var/lib/mysql/mysql.sock”连接到本地 MySQL 服务器 (2)

    当我尝试连接 mysql 时出现以下错误 Can t connect to local MySQL server through socket var lib mysql mysql sock 2 这个错误有解决办法吗 其背后的原因可能是什
  • postgreSql 中特定时间后表更新

    我已经在 postgres 中创建了表 现在我想在特定时间 例如 1 小时 后更新一行 我看到很多问题 例如 https dba stackexchange com questions 56424 column auto updated a
  • 使用 PHP 的 MySQL 连接字符串

    我正在尝试通过本地计算机连接到托管在我的服务器上的数据库 我的服务器有cPanel 11 它是一个典型的共享服务器 由CentOS提供支持 安装了PHP和MySQL 准确地说 我在同一台服务器上持有经销商帐户 我想在不同帐户或域之间访问数据
  • 自动建议 php 的 ajax

    我有一个 html 表单 php 脚本和 jquery 我需要一个 ajax 代码来从我的 php 脚本中进行自动建议 以下是代码 表单 html
  • MySQL MIN/MAX 所有行

    我有桌子Races与行ID Name and TotalCP 我选择分钟 TotalCP FROM Races 但是我想选择具有最小值的整行 我如何在单个查询中做到这一点 从聚合值获取整行的一般形式是 SELECT FROM Races W
  • 从数据库填充复选框

    我有两个表 第一个由与名称关联的 id 组成 1 汽车 2 火车 3 普通 ETC 第二个表由两个字段 user id 和第一个表中的 id 组成 例如 1 1 2 1 3 当用户转到该页面时 我试图重新填充选定的复选框 首先 您查询数据库
  • 从 PHP 数组生成 HTML 表

    我不明白这一点 我需要解决看似简单的问题 但这超出了我的逻辑 我需要编写一个函数 table columns input cols 它将输出一个表 示例 input array apple orange monkey potato chee
  • MySQL 按重复项从上到下排序

    我有一个lammer问题 因为我不是mysql专业人士 我有类似的字段 id color 1 red 2 green 3 yellow 4 green 5 green 6 red 我想按重复项进行分组 最常见的重复项先进行分组 所以应该这样

随机推荐

  • 设置表格单元格内容的最大高度

    我有一张桌子 它应该始终占据屏幕高度的一定百分比 大多数行的高度都是固定的 但我有一行应该拉伸以填充可用空间 如果该行中单元格的内容溢出所需的高度 我希望使用溢出 隐藏来剪辑内容 不幸的是 表和行不遵守 max height 属性 这是 W
  • 从 A-Z 排序 div

    我有一个聊天网页 每个成员都有一个 DIV DIV 的外观如下 div div class chatmember 10001 div div class chatmember 10008 div div class chatmember 1
  • scipy 中的 kmeans 和 kmeans2 有什么区别?

    我是机器学习的新手 想知道 scipy 中 kmeans 和 kmeans2 之间的区别 根据文档 它们都使用 k means 算法 但是如何选择它们呢 根据文档 kmeans2 似乎是标准的 k 均值算法 并且运行直到收敛到局部最优 并且
  • SQL SELECT * FROM XXX WHERE 数组中的列名

    我正在编写一些 SQL 代码 我熟悉语法 SELECT FROM myTable WHERE myColumn in 1 2 3 假设我正在编写一些 C 代码 我想在其中使用我使用过的 C 数组 1 2 3 我怎么做 您可以动态构建 SQL
  • 当活动被破坏时,GPS图标不会消失吗?

    作为一个尝试 GPS 东西的 Android 新手 我设法将这段代码组合在一起 它的工作原理就像我期望的那样 除了一件事 GPS 图标永远不会消失 如何让GPS图标在Activity被破坏时消失 我有 locationManager rem
  • 在 Ruby 中如何找到机器上的空闲物理内存?

    我想知道系统上有多少可用物理内存 不包括任何交换区 有没有办法在 Ruby 中获取这些信息 如果您使用 Linux 您通常使用 free 命令来查找系统上的物理内存 即 RAM 详细信息 output x free 输出将类似于以下字符串
  • 如何使用 boto3 仅检索 S3 中的 last_modified 密钥

    我只想使用 boto3 从 S3 存储桶中检索特定前缀中的 last modified 密钥 Get Today s date today datetime date today Get Objects date s3 boto3 reso
  • Angular8 i18n 用于占位符标签文本

    如何在 ngx mat select search palceholderLabel 中添加 i18n div class form group col md 6 mb lg 5 mb 4 div
  • 确保 MongoDb findAndModify 中独占读取的方法?

    我有一个 MongoDB 集合 用作作业队列 多个进程从中读取记录 使用findAndModify FindAndModify搜索记录 其中activefield 为 false 将其设置为 true 这样其他进程就不会读取同一条记录 问题
  • Excel Range 中的一维数组

    我目前正在使用以下代码填充我的数组 Securities Option Base 1 Securities Array Worksheets 3 Range A8 A SymbolCount Value 这会生成一个二维数组 其中每个地址都
  • 如何解释生成对抗网络中判别器的损失和生成器的损失?

    我正在阅读人们对 DCGAN 的实现 尤其是this one https github com carpedm20 DCGAN tensorflow在张量流中 在该实现中 作者画出了判别器和生成器的损失 如下所示 图片来自https git
  • Azure Web 作业 - 如何连接到 Azure MS SQL 数据库?

    我有一个发布到 Azure 的 MVC 网站 它使用 Azure SQL 数据库 现在我们需要运行计划任务来发送短信提醒 我的印象是 Azure Web Jobs 非常适合此任务 但在启动和运行它时遇到了一些问题 我已将控制台应用程序添加到
  • 寻找最接近 0 的数字

    我有一个整数数组 我需要找到最接近零的一个 正整数优先于负整数 这是我到目前为止的代码 public class CloseToZero public static void main String args int data 2 3 2
  • InnoSetup,在运行时更改 Uninstallable 属性行为?

    SCENARIO 我创建了一个安装程序 它将安装恶意软件应用程序以用于教育目的 该安装程序包含以下两个任务 Tasks Name hidden Description Hidden mode GroupDescription Install
  • pyqtgraph中设置背景颜色的问题

    我在 python 中使用 pyqtgraph 模块时遇到问题 当我将白色背景颜色放入 glscatterplot 时 散点就消失了 就像背景颜色添加到散点图的颜色中一样 因此一切都是白色的 这是我使用的一段代码 w gl GLViewWi
  • Gem 安装 therubyracer -v '0.11.4'?

    我几乎要疯狂地安装红宝石赛车手 我知道有很多人和我有同样的问题 我也看过这些问题 但对我来说太复杂了 因为不同的情况有不同的解决方案 而事实上 一直没有很好的办法来解决这个问题 我的问题类似于this https github com co
  • R中画圆

    我不知道为什么下面的代码没有给我完整的圆圈 而只给出了它的一部分 另外 我不知道如何在以 0 0 为中心且 r 1 和 a 2 的正方形内显示圆上或圆外的点 library plotrix n lt 1000 plot new frame
  • 如果启用 Nginx 拒绝规则,则下载 PHP 文件

    我的 Nginx 服务器已经运行了一年多 没有出现任何问题 它可以很好地为 WordPress 网站提供 HTML 和 PHP 文件 最近 wp login php 遭到了一些暴力攻击 因此我决定使用 Nginx 的拒绝所有规则来限制通过
  • 使用 pymongo 的 ReplicaSetConnection:有时会出现“IndexError:Cursor 没有这样的项目”

    我开始使用 pymongo 的 版本 2 2 1 ReplicaSetConnection 对象而不是 pymongo Connection 对象 现在 当我从数据库执行读取时 例如 if cur count 0 raise NoDocum
  • PHP PDO MySQL IN (?,?,?

    我想写一个MySQL语句 例如 SELECT FROM someTable WHERE someId IN value1 value2 value3 这里的技巧是我事先不知道 IN 中有多少个值 显然我知道我可以通过字符串操作生成查询 但是