从 PHP 查询时,视图内的 Postgresql regexp_matches 始终返回 null

2024-01-10

我有与此类似的观点

CREATE OR REPLACE VIEW regexp_test AS (
    SELECT regexp_matches(decode('NTB4', 'base64')::text, '(\d+)x')
)

当我从 pgAdmin 查询视图时,按预期返回单个值为 50 的数组。

SELECT * FROM regexp_test

但是当我通过 PHP 从 PHP 中调用完全相同的查询时pg_query('SELECT * FROM regexp_test'),没有返回任何内容。

postgres 版本 9.5.3, php 版本 7.0.3(与 5.6.14 的结果相同)

PHP 代码非常简单:

<?php

$link = pg_connect('host=localhost port=5432 dbname=test user=postgres password=postgres');
$qry = "SELECT * FROM regexp_test";
$res = pg_query($link, $qry);

while ($row = pg_fetch_row($res)) {
    print_r($row);
}

相同的查询

select  e'\\x353078'::bytea;

给出不同格式的结果psql:

  bytea
----------
 \x353078

and in PgAdmin III:

  bytea
----------
 50x

对于文档: https://www.postgresql.org/docs/current/static/datatype-binary.html

bytea 类型支持两种外部输入和输出格式:PostgreSQL 的历史“转义”格式和“十六进制”格式。输入时始终接受这两者。输出格式取决于配置参数bytea_output;默认为十六进制。 (请注意,十六进制格式是在 PostgreSQL 9.0 中引入的;早期版本和某些工具不理解它。)

PgAdmin III(以及 PgAdmin4)可能由于历史原因设置了bytea_output to escape而参数的默认值为hex。这可能会导致混乱(正如您所看到的那样)。看来 pgAdmin 不应该更改参数的默认值。

您可以更改应用程序中的参数以获得与 PgAdmin 中相同的行为:

set bytea_output to escape;

当然,使用encode()也是一个很好的解决方案。

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

从 PHP 查询时,视图内的 Postgresql regexp_matches 始终返回 null 的相关文章

  • symfony 2.0足够稳定可以使用吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我怀疑是否交响乐2 0够稳定可以使用吗 因为我从来没有用过Symfony before 看起来交响乐2比以前的版本好得多 我不想在几个月后重新学
  • 使用 Laravel 返回一对多 Eloquent 关系中的最后一条记录

    假设存在一个One To Many关系 其中用户有许多工作 以及最后一条记录job表是用户当前的作业 让用户返回上一份工作的更好方法是什么 这是我尝试过的 User Class public function ejob return thi
  • 为什么 PHP 字符串连接运算符是点 (.)? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • PostgreSQL 8.3 中不为空且唯一约束的增量字段

    我有一个表 项目 其中有一列 位置 位置具有唯一且非空的约束 为了在位置 x 插入新行 我首先尝试增加后续项目的位置 UPDATE items SET position position 1 WHERE position gt x 这会导致
  • 根据注册后的时间自动删除Wordpress用户?

    在使用用户访问管理器的基本 WordPress 3 1 设置中 是否可以自动删除 x 天前的用户 我没有找到此功能的插件 人们将如何实施这一举措 我是否能够使用 sql 或 php 查询设置一个 cron 作业 从而每天自动从数据库中删除
  • 如何在 php 和 mongodb 中使用 findAndModify

    我想将 id 加 1 但运行 php 页面时出现问题 错误是 Fatal error Call to undefined method MongoCollection findAndModify in C wamp www 我的代码是
  • 使用 Poedit 创建 POT 文件

    我正在拼命地尝试为我的 php 新应用程序创建一个目录 in 1 我创建了一个文件 trans php 其中放置了所有要翻译的值 例如 这是我的文件 2 我打开Poedit 在 路径 中这是我输入的内容 见图 然后我保存文件 php 的相同
  • yii2:抛出新异常的正确方法

    只是为了测试 我在模型中添加了这段代码 同时设置 debug true 和 false if packagedays lt 1 throw new yii base Exception package days cannot be less
  • 如何用PHP读取图像?

    我知道 localfile FILES media tmp name 如果使用 POST 方法 将获取图像 我正在尝试读取与我的代码位于同一目录中的图像 我如何读取它并将其分配给像上面这样的变量 您发布的代码不会读取图像数据 而是读取其文件
  • JWT 中的注销不起作用

    我是 Laravel 的新手 我安装了 JWT 并登录 所以它工作并生成了一个令牌 当我在邮递员中注销时它返回 true 但一次又一次它返回 true 和 auth gt 用户 注销后始终返回用户 这是我的代码 public functio
  • PHP 中的 JS charCodeAt 等效项(具有完整的 unicode 和 emoji 兼容性)

    我在 JS 中有一个简单的代码 如果涉及特殊字符 我无法在 PHP 中复制它 这是 JS 代码 参见JSFiddle https jsfiddle net h8oca3qg 5 用于输出 var str t char t and speci
  • URL 的正则表达式

    我已经编写了正则表达式来验证 URL 它可以是这样的 example com www example com http www example com http www example com https www example com h
  • PHP随机输出数组元素

    我如何从大约 20 个元素的数组中随机回显 5 个元素 Thanks 这有效吗 values array rand input 5 或者 作为更灵活的功能 function randomValues input num 5 return a
  • Laravel Eloquent with()-> 返回 null

    我正在尝试使用 Eloquent 来获取具有以下功能的特定产品 brand id映射到a的列brands表 该brand数组返回空 这里有什么明显需要改变的地方吗 product Product with images gt with br
  • 带缓存的简约 PHP 模板引擎,但不带 Smarty?

    有大量的问题 https stackoverflow com search q php template engine cache寻找 正确的 PHP 模板引擎 但它们都不专注于缓存 有谁知道一个轻量级 高质量 基于 PHP 5 的模板引擎
  • 在前两个冒号上分割字符串

    我想在前两个冒号上拆分一列字符串 但不在任何后续冒号上拆分 my data lt read table text my string some data 123 34 56 78 100 87 65 43 21 200 a4 b6 c888
  • PostgreSQL:用以前的值填充时间序列查询中的 NULL 值

    我有一个包含时间相关信息的数据库 我想要一个包含每分钟值的列表 像这样 12 00 00 3 12 01 00 4 12 02 00 5 12 03 00 5 12 04 00 5 12 05 00 3 但是 当几分钟内没有数据时 我得到如
  • Sails.js + Postgres:交易问题

    我试图使用 Postgres 作为数据库在 Sails 0 10 5 中实现事务 但操作最终没有提交 或回滚 这是我作为测试写下的一个简单的事务场景 使用 async js testTransaction function uri var
  • Drupal 模板/主题资源或建议?

    我有兴趣为我正在开发的 Drupal 网站创建自定义主题 我是 Drupal 的新手 但是我在处理构建主题 CSS PHP HTML 所需的基本概念方面拥有相当多的经验 所以 我的问题是 我从哪里开始 有创建 Drupal 主题的规范指南吗
  • 如何使用多个分隔符拆分列表?

    基本上 我想在文本区域中输入文本 然后使用它们 例如 variable1 variable2 variable3 variable1 variable2 variable3 variable1 variable2 variable3 我知道

随机推荐