PHP переменные postgresql в запросе

Я пытаюсь получить правильный синтаксис для следующего. В этом случае $ post_pub = 1

$sql='SELECT "Publications"."Pub_ID", "Publications"."ART_TITEL" FROM "Publications" where "Pub_ID"="$post_pub"';

Php выдает ошибку: столбец «$ post_pub» не существует

Я наткнулся на pg_query_params, это похоже на правильное направление, но мне нужна помощь. Как я могу заставить это работать?

0

Решение

Я никогда не пользовалась pg_connect хотя я думаю, что вам нужно что-то вроде этого:

$sql='SELECT "Publications"."Pub_ID", "Publications"."ART_TITEL"FROM "Publications"where "Pub_ID"=$1 ';$result = pg_query_params($dbconn, $sql, array($post_pub));
2

Другие решения

проблема в двойных кавычках вокруг переменной. Postgres понимает его как имя «объекта базы данных», в этой части запроса — столбец. чтобы избежать этого, попробуйте использовать:

$sql='SELECT "Publications"."Pub_ID", "Publications"."ART_TITEL" FROM "Publications" where "Pub_ID"='."$post_pub";

Также рассмотрите возможность перехода на PDO — такое использование является прямым приглашением для внедрения SQL. настройка$post_pub в 0 or (delete from Publications)" Например, удалит все данные, если у пользователя достаточно прав.

0

По вопросам рекламы [email protected]