php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Doc Bug #80311 jsonb operators not supported
Submitted: 2020-11-03 14:06 UTC Modified: 2020-11-03 14:20 UTC
Votes:1
Avg. Score:5.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:0 (0.0%)
Same OS:0 (0.0%)
From: boan at jfmedier dot dk Assigned:
Status: Verified Package: PDO PgSQL
PHP Version: 7.2.34 OS:
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: boan at jfmedier dot dk
New email:
PHP Version: OS:

 

 [2020-11-03 14:06 UTC] boan at jfmedier dot dk
Description:
------------
When trying to query a jsonb field in postgresql with the questionmark operator, we get error code 42601.

`$pdo->query("SELECT * FROM term_template tt WHERE (sites->0) ? 'site_id'");`

`"ERROR:  syntax error at or near "$1"
LINE 1: SELECT * FROM term_template tt WHERE (sites->0) $1 'site_id'..."`

See jsonb operators here: 

https://www.postgresql.org/docs/10/functions-json.html

The query works when executed within a database tool.

Test script:
---------------
Fixture data in DB "sites" column:

[{"site_id": "example.org"}]




Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2020-11-03 14:20 UTC] cmb@php.net
-Status: Open +Status: Verified -Type: Bug +Type: Documentation Problem
 [2020-11-03 14:20 UTC] cmb@php.net
This is expected behavior, because the question mark is considered
to be a placeholder.  As of PHP 7.4.0, it is possible to escape
the question mark by doubling it[1].

Changing this to doc problem, since apparently that escaping
mechanism is not yet documented in the manual proper[2].

[1] <https://www.php.net/manual/en/migration74.new-features.php#migration74.new-features.pdo>
[2] <https://www.php.net/manual/en/pdo.prepared-statements.php>
 
PHP Copyright © 2001-2021 The PHP Group
All rights reserved.
Last updated: Fri Sep 17 17:03:36 2021 UTC