Doc #80311 [Com]: jsonb operators not supported

[email protected] ("alisauxbpddn53 at gmail dot com") Sat, 31 Dec 2022 06:33:05 +0000
Newsgroups php.doc.bugs
Message-ID <[email protected]>
Edit report at https://bugs.php.net/bug.php?id=80311&edit=1

 ID:                 80311
 Comment by:         alisauxbpddn53 at gmail dot com
 Reported by:        boan at jfmedier dot dk
 Summary:            jsonb operators not supported
 Status:             Verified
 Type:               Documentation Problem
 Package:            PDO PgSQL
 PHP Version:        7.2.34
 Block user comment: N
 Private report:     N

 New Comment:

Thanks for that. (https://www.telltims.net/)github.com


Previous Comments:
------------------------------------------------------------------------
[2022-12-27 06:12:18] alisausxbpn53 at gmail dot com

Thanks for that. 

(https://www.telltims.org/)github.com

------------------------------------------------------------------------
[2020-11-03 14:20:45] [email protected]

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>

------------------------------------------------------------------------
[2020-11-03 14:06:23] 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"}]





------------------------------------------------------------------------



--
Edit this bug report at https://bugs.php.net/bug.php?id=80311&edit=1