Bug->Doc #80311 [Opn->Ver]: jsonb operators not supported

From: Date: Tue, 03 Nov 2020 14:20:45 +0000
Subject: Bug->Doc #80311 [Opn->Ver]: jsonb operators not supported
References: 1  Groups: php.doc.bugs 
Request: Send a blank email to doc-bugs+get-18069@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=80311&edit=1

 ID:                 80311
 Updated by:         cmb@php.net
 Reported by:        boan at jfmedier dot dk
 Summary:            jsonb operators not supported
-Status:             Open
+Status:             Verified
-Type:               Bug
+Type:               Documentation Problem
 Package:            PDO PgSQL
 PHP Version:        7.2.34
 Block user comment: N
 Private report:     N

 New Comment:

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>


Previous Comments:
------------------------------------------------------------------------
[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


Thread (4 messages)

« previous php.doc.bugs (#18069) next »