如何使用 PDO 在一个数据库行程中插入多条记录?

2023-11-26

我有一张桌子叫propAmenities其中包含两列amenity_id and property_id基本上该表保存外键。

现在我必须使用以下语句的命名占位符生成 PDO 查询。

INSERT INTO propAmenities (amenity_id, property_id) VALUES (1, 1), (2, 1), (3, 1)

我尝试使用以下语法,但我不确定这是否有效。

$sth->$this->dbh->prepare('INSERT INTO 
                           propAmenities 
                           (amenity_id, property_id) 
                           VALUES 
                           (:amenity_id, :property_id), 
                           (:amenity_id, :property_id), 
                           (:amenity_id, :property_id)');

对于上面的查询,我不确定如何使用 PDO 的 bindParam() ?我该如何使用 PDO 处理这种情况?我是否使用了错误的 PDO 占位符?


您可以为占位符指定任何您想要的名称,因此您的 SQL 如下所示:

INSERT INTO propAmenities 
(amenity_id, property_id) 
VALUES 
(:amenity_id1, :property_id1), 
(:amenity_id2, :property_id2), 
(:amenity_id3, :property_id3)

进而:

$stmt->bindParam(':amenity_id1',  1);
$stmt->bindParam(':property_id1', 1);
$stmt->bindParam(':amenity_id2',  2);
$stmt->bindParam(':property_id2', 1);
$stmt->bindParam(':amenity_id3',  3);
$stmt->bindParam(':property_id3', 1);

或者,当然,构建适当的数组execute。在这种情况下,未命名的占位符可能更容易使用:

INSERT INTO propAmenities 
(amenity_id, property_id) 
VALUES 
(?, ?),
(?, ?),
(?, ?)

然后你可以循环你的值并调用execute使用适当的数组:

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

如何使用 PDO 在一个数据库行程中插入多条记录? 的相关文章

  • PHP foreach 数组与 stdClass 对象

    我需要帮助尝试获取数组和 stdClass 对象内的值 仅供参考 我正在使用 foursquare API 我有这样的事情 fsq groups venues gt response gt groups echo pre print r f
  • PHP 联系表单未提交

    您好 我之前曾成功使用过这个非常简单的 php 联系脚本 但当我尝试在新的 HTML 页面上实现它时 表单不会提交 任何人都可以看到任何明显的错误吗 任何帮助将非常感激 这是表单的 html div div
  • 奇怪的 500 内部服务器错误(firebug、php、display_errors、ajax)

    在一页上我正在进行多个 AJAX 调用 所有调用均成功返回响应 但最后一个调用 与其他 ajax 调用无关 返回 500 内部服务器错误作为响应代码 如 firebug 所示 但是 尽管存在错误代码 该 AJAX 调用仍会返回正确的内容 令
  • phpstorm 和 xdebug 之间的连接

    我配置了 phpstorm xdebug 并且能够使用断点调试我的代码 这些天我更新了 php 通过brew 和 xdebug 现在我有 php 5 5 26 和 xdebug 2 3 3 当我尝试调试测试 和代码 时 phpstorm 告
  • 使用 Java 连接到 MySql - SSL 连接

    我一直在尝试连接到 MySql 数据库 该数据库使用 ssl 连接与 java 并遇到麻烦 如果任何人可以帮助我 将会有很大的帮助 手动连接MySql 我们使用MySQL Workbench 参数 主机名 test db1 ro xxxxx
  • 用于 Mysql 查询的 FLASK HTML 字段

    你好 Stackoverflow 社区 我是 FLASK 的新手 但是虽然学习曲线非常陡峭 但有一个项目我无法理解 我使用一个非常简单的 HTML 搜索表单 用户在其中输入城市名称 此输入将传递到 Mysql 查询并将输出返回到表中 一切正
  • 在 WordPress 中调用自定义 php 模板中的函数

    我想调用我在 WordPress 中编写的另一个 php 类中的函数 但是我对语法感到困惑 例如要获取页面上的标题 您只需调用 get header 等等 但是我如何调用特定类中的函数 例如 在index php中 我想调用一个名为this
  • 查找所有具有相同值的数组键

    当值未知时 是否有一种更简单的方法来获取具有相同值的所有数组键 The problem with array unique是它返回唯一的数组 因此它找不到唯一的值 例如 从这个数组 Array a gt 1000 b gt 1 c gt 1
  • 使 Web 表单输入在各种情况下安全的正确方法是什么?

    你们都认为什么是正确的 阅读 最灵活 松散耦合 最健壮等 方法来使来自 Web 的用户输入安全地用于 Web 应用程序的各个部分 显然 我们可以为每个上下文 数据库 屏幕显示 保存在磁盘上等 使用各自的清理功能 但是是否有一些通用的 模式
  • 复制具有不同列名的 MySQL 表

    我需要将 table1 中与特定列匹配的所有行复制到具有不同列名称的 table2 中 例如 table1 name oldAddressBook table1 的列 name Name Surname Number table2 name
  • 差异:查看页面源代码与在 Firebug 中查看

    当我查看页面的页面源时 例如 http my sa ucsb edu public curriculum coursesearch aspx http my sa ucsb edu public curriculum coursesearc
  • 550 Bad HELO - 主机冒充域名 Laravel

    我正在尝试设置 Laravel 身份验证 包括 密码重置 功能 但当我尝试发送电子邮件时 我偶然发现了一个错误 我得到的错误是 Expected response code 250 but got code 550 with message
  • Razorpay 支付集成 -> 我如何检测关闭按钮 X 附近的 razorpay 模型

    我在 CI 框架中使用 Razorpay 当用户在没有付款的情况下关闭时 创建 razor 支付模型 然后对于取消订单 我希望通过状态更改为已取消来触发查询 那么我怎样才能检测到这一点 我已经在使用 by click jQuery 点击关闭
  • 什么会导致 PHP 变量被服务器重写?

    我的公司给了我一个虚拟机来安装网络软件 但我遇到了一个相当奇怪的问题 如果 PHP 变量与特定模式匹配 服务器就会覆盖 重写 它们 什么可以像这样重写 PHP 变量 以下是一个完整的独立脚本
  • 如何知道 Solr Optimize 何时完成?

    我正在使用 Solr php client 通过 php 与 Solr 进行通信 这段代码触发solr优化命令 solr gt optimize 请问有没有什么方法可以确定优化完成了 这都是因为我的网站上有一个管理页面 我每天必须手动优化
  • MySQL Workbench:如何将 mysql 数据库导出到 .sql 文件?

    我需要将 mysql 工作台中的数据库导出到文件 sql 该怎么办 在 MySql Workbench 版本 8 0 中 您只需按照以下步骤操作即可 Go to Server tab Go to 数据库导出 这会打开类似这样的东西 在中选择
  • Php mod_rewrite 无法正常工作

    我有一个带有以下链接结构的 php 页面 http localhost wisper businesspage php profile creativeartbd 所以我尝试将此链接转换为以下样式 http localhost wisper
  • 使用 Laravel Intervention 库缓存动态图像不起作用

    我目前正在使用 Laravel 5 并利用干预图像集成 http image intervention io http image intervention io 我动态地使用它 因此图像具有如下 URL http example org
  • PHP 中的舍入

    a 0 1 0 7 10 int 0 1 0 7 10 PHP 返回 false 有人能给我解释一下 为什么会发生这种情况吗 第一个返回 8 第二个返回 7 引用PHP 浮点精度手册中的大红色警告 http de3 php net manu
  • 使用 Ajax 和 PHP 上传图像

    我想将图像上传到我的服务器 并控制 HTML 代码中的 PHP 回显 为此 我想使用 jQuery Ajax 但我不知道如何使用 Ajax 将图像发送到 PHP 这是一个大学项目 所以我不能使用任何类型的插件 我的实际代码 HTML

随机推荐

  • 在 iPhone Simulator 4.3/XCode 4.2 和 4.0.2 中使用 Blocks 会导致应用程序崩溃

    还有其他人在 XCode 4 2 lion 或 4 0 2 中使用 4 3 iPhone 模拟器时遇到问题吗 我的代码已经长期运行 测试并在生产中使用块来指定完成操作 例如 我使用 UIView animate 淡出标签顶部的一些文本 如下
  • 关于如何在 python 中使用属性功能的真实示例?

    我对如何使用感兴趣 property在Python中 我已经阅读了 python 文档 在我看来 其中的示例只是一个玩具代码 class C object def init self self x None property def x s
  • int.from_bytes() 是如何计算的?

    我试图理解什么from bytes 事实上确实如此 The 文档提到了这一点 byteorder 参数确定用于表示整数的字节顺序 如果字节顺序为 big 则最高有效字节位于字节数组的开头 如果字节顺序为 little 则最高有效字节位于字节
  • 使用 TypeScript 样式化组件的 'css' 属性

    styled components有一个插件可以实现以下功能 div props theme colors text gt 有什么办法可以告诉 TypeScriptcss是所有元素上的有效属性吗 将以下行添加到项目内的 TypeScript
  • .Net Core中间件-从请求中获取表单数据

    在 NET Core Web 应用程序中 我使用中间件 app UseMyMiddleware 在每个请求上添加一些日志记录 public void Configure IApplicationBuilder app IHostingEnv
  • 单击单元格外部后如何退出文本框

    我意外地在网上找到了这段代码 它解决了我的大部分问题 但是我想在这段代码中添加一件事 但我不知道我的问题是什么 如何在用户后退出文本框双击它还是在用户完成编辑之后
  • android edittext onchange监听器

    我知道一点点TextWatcher但这会触发您输入的每个角色 我想要一个在用户完成编辑时触发的侦听器 是否可以 也在TextWatcher我得到一个实例Editable但我需要一个实例EditText 我怎样才能得到它 EDIT 首先 您可
  • 如何打开以 JDesktopPane 为中心的 JInternalFrame?

    我正在添加一堆JInternalFrame变成一个JDesktopPane 当用户选择通过菜单打开各种功能时 但我希望内部框架在桌面窗格的中心打开 而不是在左上角 它们似乎是默认的 如何指定 JInternalFrames 居中打开 或打开
  • 如何拉伸图像以填充此 WPF / XAML 应用程序?

    当我的程序显示小于 XAML 中定义的图像 GUI 对象的图像时 它不会像我希望的那样拉伸以适合 例如 256x256 图像仅占据 512x512 图像 GUI 对象的左上象限 我很困惑 因为我在 XAML 代码中设置了 Stretch F
  • Flutter 中的 StreamBuilder 陷入 ConnectionState.waiting 并仅显示加载标记

    您好 我正在尝试将 Firebase 文档内的数据动态显示到我的 Flutter 中 并使用循环进行渲染 所以我做了一个List
  • cPickle - 对同一对象进行酸洗的不同结果

    有谁能解释一下下面的评论吗testLookups 在这个代码片段 我已经运行了代码 确实评论所说的是真的 不过我想了解为什么这是真的 即为什么 cPickle 根据引用方式为同一对象输出不同的值 它与引用计数有什么关系吗 如果是这样 这不是
  • C# 无法使用类型约束推断泛型类型参数,是否有解决方法?

    埃里克 利珀特 Eric Lippert 在他的博客文章中解释道 http blogs msdn com b ericlippert archive 2009 12 10 constraints are not part of the si
  • 删除/移动 Google Chrome 左下角状态栏(链接地址栏)

    我正在开发一个网站 其设计的左下角有一个关键的导航元素 在 Google Chrome 中 左下角有一个状态栏 当您将鼠标悬停在页面上的链接上时 会出现该状态栏并显示该页面的 URL 不过 如果你足够接近 它会移动到右下角 这妨碍了该导航元
  • 为什么Java 2D原点位于左上角?

    我不是抱怨 只是好奇 为什么Java使用绘图表面的左上角作为原点 我认为更自然的是选择左下角作为原点并随着它们向上和向右增加轴 类似于石英 自古以来 计算机图形学就起源于左上角 其中包括 QuickDraw 使用左下角 如在数学中 是 Po
  • 从 float 转换为 QByteArray

    有没有一种快速方法可以将浮点值转换为字节形式 十六进制 表示形式QByteArray 做过类似的事情memcpy 在使用数组之前 但这似乎不太适用QByteArray 例如 memcpy byteArrayData floatData si
  • 如何找到数组的维数?

    下面是一段代码 我需要通过遍历传递的消息来存储有关警告消息的一些信息 传递的参数本身是一个变体 由 API 调用设置SAPListOfMessages它返回一个数组String 然而我注意到 每当有超过 1 个警告时 列表都是二维的 mes
  • jQuery mobile:在 ListView 中启用自动换行

    我有一个列表视图 见下图 我想将所有内容自动换行 而不是添加 到长行 这是怎么做到的 您只需要更新 CSS ui li desc保存列表项中文本的元素 ui page ui content ui listview ui li desc wh
  • QtService 应用程序作为服务运行时无法连接到系统总线

    我已经重新编译了Qt与集成的dbus对于窗户 此外 我还实施了QtService应用程序在系统总线上注册服务和对象 如下所示 QDBusConnection systemBus registerService com mycompany C
  • 从 R 中的许多列中减去数据框中的一列

    我有一个数据框 我想从所有其他列中减去第二列 我可以循环执行此操作 但我想在一次调用中执行此操作 这是我的工作循环代码 df lt data frame x 100 101 y 2 3 z 3 4 a 1 0 b 4 5 for i in
  • 如何使用 PDO 在一个数据库行程中插入多条记录?

    我有一张桌子叫propAmenities其中包含两列amenity id and property id基本上该表保存外键 现在我必须使用以下语句的命名占位符生成 PDO 查询 INSERT INTO propAmenities ameni