在 PHP PDO 中如何获取 PostgreSQL upsert 查询的“RETURNING”子句值

2023-12-01

我用 postgreSQL 编写了这个 upsert 查询

$statement = 'INSERT INTO "CharactersUnlockToBuyLevels"
                ("CharacterId", "LevelId", "AmountToBuy", "EagleStatueId", "Location", 
                 "MapCoordinateTop", "MapCoordinateLeft")
              VALUES 
                (:CharacterId, :LevelId, :AmountToBuy, :EagleStatueId, :Location, 
                 :MapCoordinateTop, :MapCoordinateLeft)
              ON CONFLICT
                ("CharacterId")
              DO UPDATE 
                SET 
                  "LevelId" = EXCLUDED."LevelId",
                  "AmountToBuy" = EXCLUDED."AmountToBuy",
                  "EagleStatueId" = EXCLUDED."EagleStatueId",
                  "Location" = EXCLUDED."Location",
                  "MapCoordinateTop" = EXCLUDED."MapCoordinateTop",
                  "MapCoordinateLeft" = EXCLUDED."MapCoordinateLeft"                            
              RETURNING "CharacterUnlockToBuyLevelId"
             ';

该查询工作正常,如果我在 PgAdmin 中运行它,我会按预期返回“CharacterUnlockToBuyLevelId”。但是,如果我准备它并使用 PHP 的 PDO 执行它,那么我似乎无法取回返回值。

$stmt = $this->db->prepare($statement);
$returnedId = $stmt->execute(array(
     'CharacterId' => $characterId,
     'LevelId' => $unlockMethod['LevelId'],
     'AmountToBuy' => $unlockMethod['AmountToBuy'],
     'EagleStatueId' => $unlockMethod['EagleStatueId'],
     'Location' => $unlockMethod['Location'],
     'MapCoordinateTop' => $unlockMethod['MapCoordinateTop'],
     'MapCoordinateLeft' => $unlockMethod['MapCoordinateLeft'],
));

这只是返回 true,所以$returnedId实际上不会保存 id,而只是保存 true 值。如何使用 PDO 的准备语句从 upsert 查询中获取 RETURNING 值?


from http://php.net/manual/en/pdostatement.execute.php:

公共 bool PDOStatement::execute ([ 数组 $input_parameters ] )

要获得返回的 val,请尝试fetchAll

$stmt = $this->db->prepare($statement);
$returnedId = $stmt->execute(array(
     'CharacterId' => $characterId,
     'LevelId' => $unlockMethod['LevelId'],
     'AmountToBuy' => $unlockMethod['AmountToBuy'],
     'EagleStatueId' => $unlockMethod['EagleStatueId'],
     'Location' => $unlockMethod['Location'],
     'MapCoordinateTop' => $unlockMethod['MapCoordinateTop'],
     'MapCoordinateLeft' => $unlockMethod['MapCoordinateLeft'],
));
$yourVal=$stmt->fetchAll();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 PHP PDO 中如何获取 PostgreSQL upsert 查询的“RETURNING”子句值 的相关文章

  • 删除 cookie php

    我正在尝试创建一个带有登录系统的平台 并将用户名和密码存储在cookie中 以使用户即使关闭浏览器然后再次输入也能保持登录状态 我设法保存了cookie 但我不知道如何制作注销按钮 这是代码 function logout body app
  • Jpgraph:如何在php中设置组条形柱形图的标签

    这是我的 jpgraph 演示代码
  • PDF:在现有 PDF 文件中插入一行文本

    我有一个 PDF 文件 我希望在所有页面 前两页除外 的页脚上添加一行纯文本 不是徽标或类似内容 有谁有一个如何做到这一点的例子 用任何语言 Update 原始 PDF 是用 Scribus 制作的 我可以完全控制它 因此 如果更容易进行查
  • 如何开始 Zend Framework 开发

    Hai 首先谢谢 我下载了 Zend 框架 C wamp zend 我将 php ini 的包含路径更改为 C wamp zend 我在我的 php 信息中看到了这个 我认为包含路径是正确的 我仍然有很多疑问 我从哪里开始在 zend 框架
  • PostgreSQL:循环直到条件为真

    我正在尝试编写一个查询 该查询从指定值开始 循环 数据库 直到条件为真 例如 假设我在 TABLE 示例中有以下条目 id parent cond 1 True 2 1 False 3 1 False 4 2 False 我想要一个以 4
  • 实现 PHP 单例:静态类属性还是静态方法变量?

    所以 我总是像这样实现一个单例 class Singleton private static instance null public static function getInstance if self instance null se
  • 如何在 WordPress 中添加 PHP 页面链接到我的页脚

    我创建了一个自定义 PHP 页面名称 privacy policy 名称为privacy php 我如何链接页脚中的页面 以便当有人点击隐私链接时页面打开 我已在此页面中调用页眉和页脚 这个怎么做 谢谢 In the wp content
  • 如何使用 Libsodium-PHP 加密/解密 AES

    我需要用 PHP 加密 解密数据 我对此完全陌生 但是我读到 Libsodium PHP 是 AES 加密的最佳工具 就像我研究过的其他 PHP 加密库一样 Libsoduim PHP 似乎几乎没有提供如何使用该库的文档 我能够找到 任何有
  • Amazon ec2 无法在 ios 上发送推送通知

    我在 Amazon ec2 php 7 中使用以下 php 代码
  • 在 .NET C# 项目中使用 PHP

    有谁知道是否可以 以及是否有任何复杂性 在 NET C 项目中使用 PHP 语言 我知道 VB 和 C 现在可以混合在解决方案中 所以我想知道 由于 IIS 现在能够运行 PHP 您是否可以将它们组合成一个单一的运行时 显然 提出这个问题的
  • 如何获取 PostgreSQL 中表上所有索引的列名列表?

    我有这个查询来获取表上的索引列表 SELECT ns nspname as schema name tab relname as table name cls relname as index name am amname as index
  • WordPress 子主题 style.css 不起作用

    我创建了一个与父主题格式相同的文件结构 我的父主题称为 Alpine Alpine 中有一个functions php 和style css 文件 似乎没有任何其他 style css 文件 我创建了一个名为 Alpine child 的目
  • 新分配的序列不起作用

    在 PostgreSQL 中 我创建了一个新表并为其分配了一个新序列id柱子 如果我从 PostgreSQL 控制台插入记录 它可以工作 但是当我尝试从 Rails 导入记录时 它会引发异常 无法找到关联的序列 这是表格 d user me
  • PHP - 为什么使用 Guzzle 而不是 cURL?

    在我的应用程序中 我最初开始使用 cURL 从各种 API 检索数据 今天 我尝试使用 Guzzle 来完成同样的任务 到目前为止 cURL 和 Guzzle 似乎都工作得同样好 判断依据Github https github com gu
  • 如何从 foreach(PHP) 中只获取一个结果

    该代码循环一个数组并显示用户的所有视图 现在情况发生了变化 我只需要显示 foreach 循环的一个结果 我怎么做 table class report edits table thead tr class dates row td div
  • Yii2 - 如何自动加载自定义类?

    我创建了以下自定义类 我想在我的 Yii2 应用程序中使用它 common components helper CustomDateTime php namespace common components helper class Cust
  • 如何使用 phpStorm 从远程服务器删除文件

    所以我已经将远程服务器添加到 phpStrom 中 我可以在那里更改文件 但是 如果我删除文件 它们只会从我的计算机上消失 而不是在服务器上消失 如何使用 phpStorm 从远程服务器删除文件 To manually从远程位置删除文件 使
  • WooCommerce - 谢谢和“我的帐户”查看订单页面上的自定义通知

    在 WooCommerce 上我有一个自定义字段days manufacture对于具有不同 整数 值的每个产品 我还有这个代码 可以在购物车页面上显示一条消息 其中的最高值是 生产天数 add action woocommerce bef
  • PHP:switch 与 if [重复]

    这个问题在这里已经有答案了 哪种形式更有效率 这个 switch var case 1 break case 2 break 或者这个 if var 1 elseif var 2 在性能方面 性能方面完全无关 As PHPBench htt
  • 在 PostgreSQL 中存储图像

    好吧 我正在开发一个应用程序 该应用程序将使用运行 PostgreSQL 的 Linux 后端向 Windows 机器提供图像 前端用 C NET 编写 尽管前端应该不重要 我的问题是 在 Postgres 中存储图像的最佳方法是什么 每张

随机推荐

  • 谷歌字体字体粗细为 100 不起作用

    我有一个 Android 游戏 它使用谷歌字体中的 Raleway 字体 在游戏中它看起来不错 我也想在网站上使用该字体 但字体显示不一样 我在游戏中使用Raleway Thin 这与我想在网站上使用的相同 我遇到的问题是细字体并不像游戏中
  • sqlsrv_connect:未找到数据源名称且未指定默认驱动程序

    我在将 PHP 与远程计算机上运行的 SQL SERVER 2008 连接时遇到困难 我有 php 版本 5 4 3 和 apache 2 2 22 我的计算机上已经运行了 SQL SERVER 2008 我的 wamp bin php p
  • 如何为 GlassFish 域指定 JDK?

    我已经安装了 GlassFish 2 1 1 我安装了 1 5 和 1 6 JDK 尽管我的 JAVA HOME 变量设置为 1 5 版本 并且 java version 和 javac version 都显示 1 5 但每当我启动 gla
  • openCV c++:使用 XgBoost(Adaboost 分类器)时出现问题

    我正在创建一个应用程序 用于对城市环境图像中的人类进行分类 我通过以下方式训练分类器 int main int argc char argv STEP 2 Opening the file 1 Declare a structure to
  • 课堂上的陈述作业

    class foo object def enter self print Enter def exit self type value traceback print Exit def method self print Method w
  • Wildfly 在 EAR 之间共享会话?

    我在 2 个独立的 EAR 中有 2 个 WAR 应用程序 我想将它们部署在 Wildfly 10 JBoss 7 EAP 的单个实例中 我如何在两场战争之间共享会话 身份验证 Ex EAR1 WAR1 EJB libs EAR2 WAR2
  • 如何在matlab中计算指数而不得到inf?

    标题说明了一切 我想在 matlab 中计算一个大数字的指数 但我得到了溢出 它只返回无穷大 gt gt 100 1000 ans Inf 上次我检查时 100 1000 明显小于无穷大 正如 Daniel 已经指出的那样 这个数字太大了
  • 如果不允许跨域ajax调用那么你应该如何使用谷歌电子表格API

    如果不允许跨域ajax调用那么你应该怎么做this 注意 链接已废弃 问题已更新为相关原始页面的相关部分 来自链接 开发人员指南 协议 v 2 0 Google Spreadsheets API 添加一行 要向表中添加一行 首先创建一个
  • 如何检测用户何时清除应用程序的通知

    我的应用程序有通知功能 当我收到通知时 我的应用程序图标中会显示一个徽章 据我所知 当我的应用程序处于后台时 由于用户没有单击通知中心的通知 因此我的应用程序不知道它有通知 所以它不能改变徽章号码 也来自这个主题 检测用户何时清除通知中心的
  • 执行 del 批处理文件时排除 temp 内的文件夹

    如果我想排除要删除的文件夹内的文件夹 我应该在 DEL 批处理文件中添加什么 我有这个代码来删除临时文件夹的所有内容 DEL F Q C temp 现在 我想排除一个名为导入文件夹里面 无论它是否存在于临时文件夹中 都不应被删除 我该怎么做
  • 如何在编译的 dart 中请求全屏

    我正在玩一个 Dart 应用程序 试图让全屏模式正常工作 我的 HTML 不包括样板 div Clicking this should cause it to go fullscreen div 我的飞镖代码 import dart htm
  • 您需要在此活动中使用 Theme.AppCompat 主题(或后代)。更改 Theme.AppCompat 会导致其他错误

    我在我的应用程序中使用 appcompat v22 1 0 并使用工具栏 我使用时一切都很好Theme AppCompat Light NoActionBar 当我开始实施时AlertDialog 它会产生这样的错误 java lang I
  • 在 AngularJS 中从父控制器调用指令控制器的方法

    我正在使用 AngularJS 并且我有一个指令 它有自己的控制器 它继承了父控制器的范围 例如 请考虑以下情况 function ParentCtrl scope aMethod function DO SOMETHING functio
  • 表视图单元格按钮关闭是否需要弱自我

    为了避免保留循环 将使用 weak self in在 UITableViewCell 按钮操作中是否有必要 例子 在视图控制器中cellForRow cell buttonAction cell weak self in self some
  • 如何将表单提交事件传播到自定义指令的父级?

    我有一个简单的 AngularJS 项目 我从用户那里获取输入数据并根据该数据生成图表 我试图弄清楚如何组织代码 使其符合MVC设计模式 特别是 我一直在弄清楚如何将表单的提交事件传播到自定义指令的父级 我正在寻找某种回调机制 似乎有多种选
  • 序数尺度行为

    我想创建一个序数尺度 范围和域之间具有一一对应的关系 我希望不属于该域的值 字符串不会返回任何内容 相反 我得到以下行为 var x d3 scaleOrdinal domain a b c range 10 20 30 x d 10 x
  • CardLayout 的父容器/面板

    我如何获得任何面板的 容器 面板CardLayout 也就是说 如果面板是一张卡片 在另一个 容器 面板中 那么如何从卡中获取对此 容器 面板的引用 这就是我正在做的 public class LogInPanel extends java
  • 删除所有不符合特定条件的数组元素

    我一直在调查array map但不确定这是否是最好的方法 我目前从我的返回以下数组scandir Array 0 gt 1 gt 2 gt DS Store 3 gt post my first test post html 4 gt po
  • 什么是休息?有点困惑[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我假设 REST 是一种 Web 服务 但我的想法似乎是错误的 那么 什么是 REST 我已经通读了维基百科 但仍然无法完全理解它 为什么很多地方将 API 称为 REST AP
  • 在 PHP PDO 中如何获取 PostgreSQL upsert 查询的“RETURNING”子句值

    我用 postgreSQL 编写了这个 upsert 查询 statement INSERT INTO CharactersUnlockToBuyLevels CharacterId LevelId AmountToBuy EagleSta