двойные кавычки поля php postgresql

Всем привет у меня проблема с таблицей в своих полях стоят двойные кавычки ("")

введите здесь описание изображения

Когда я хочу обновить поле без кавычек, например:

 $rs = pg_query("UPDATE tbl_audit
   SET UserName='admin'
 WHERE pk_audit='549';");

Postgresql Я сказал, что поле (UserName) не существует в таблице

но когда я ставлю кавычки следующим образом:

    $rs = pg_query("UPDATE tbl_audit
   SET "UserName"='admin'
 WHERE pk_audit='549'");

Он говорит: Ошибка синтаксического анализа: синтаксическая ошибка, неожиданное «Имя пользователя» (T_STRING) в C:\xampp\htdocs\postgrado\admin\update.php в строке 35

Я не понимаю, когда я делаю это из окна SQL pgadmin (без PHP), я успешно работаю

UPDATE tbl_audit
SET "UserName"='admin'
WHERE pk_audit='549';

person Camaliet    schedule 22.02.2016    source источник
comment
Избегайте внутренних двойных кавычек или (используйте внешние одинарные кавычки и параметризованные запросы).   -  person frz3993    schedule 22.02.2016
comment
как сделать параметризованный запрос?   -  person Camaliet    schedule 22.02.2016


Ответы (1)


Вы можете избежать «внутренних» двойных кавычек, используя обратную косую черту:

$rs = pg_query("UPDATE tbl_audit
                SET \"UserName\" = 'admin'
                WHERE pk_audit='549';");
person Mureinik    schedule 22.02.2016