Как заставить postgresql интерпретировать обратную косую черту как escape-символы в связанном значении?

Я пытаюсь сделать что-то вроде следующего:

$json_string = '[{"text":"And I quote, \"Hello world!\""}]';
$query = "INSERT INTO table (json_column) VALUES (:bind)";
$bind = array('bind' => $json_string);

Проблема в том, что строка JSON не заключена в двойные кавычки.

Я понимаю, что стандарт SQL должен интерпретировать обратную косую черту как буквальные символы, и в моей базе данных postgresql стандартные_конформные_строки включены (как и должно быть). Я понимаю, что если бы я использовал литеральную строку в запросе, я мог бы использовать формат E'[{"text":"And I quote \"Hello world!\""}]', и postgresql интерпретировал бы обратную косую черту как escape-символы. Но я привязываю значения в PHP.

Итак, как я могу заставить postgresql интерпретировать обратную косую черту как escape-символы в связанном значении? Я попробовал E:bind, но получил ошибку "столбец e$1 не существует".

вам следует рассмотреть возможность использования функций pgsql prepare, которые позволяют вам указать нужную строку, а библиотека pgsql будет экранировать строку при вызове метода, подобного bindParameter.

Pierre Emmanuel Lallemant 23.01.2019 23:24
php.net/manual/fr/pdostatement.bindparam.php первый пример
Pierre Emmanuel Lallemant 23.01.2019 23:25

Приложение, с которым я работаю, использует MDB2. Я считаю, что проблема, по-видимому, заключается в том, что все работает с использованием PDO.

Doug Webster 29.01.2019 22:13
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
3
62
0

Другие вопросы по теме