Я пытаюсь получить правильный синтаксис для следующего. В этом случае $ post_pub = 1
$sql='SELECT "Publications"."Pub_ID", "Publications"."ART_TITEL" FROM "Publications" where "Pub_ID"="$post_pub"';
Php выдает ошибку: столбец «$ post_pub» не существует
Я наткнулся на pg_query_params, это похоже на правильное направление, но мне нужна помощь. Как я могу заставить это работать?
Я никогда не пользовалась 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));
проблема в двойных кавычках вокруг переменной. 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)"
Например, удалит все данные, если у пользователя достаточно прав.