Создать вопрос для данного пользователя в PostgreSQL с помощью PHP - PullRequest
0 голосов
/ 08 августа 2009

У меня есть список URL на моей домашней странице, который похож на SO в следующей форме

<a href="?questions&questions=777">link1</a>
<a href="?questions&questions=666">link2</a>

В следующем PHP-скрипте есть проблема с параметром $_GET.

 $dbconn = pg_connect("host=localhost port=5432 dbname=masi user=masi password=123");
 // A QUESTION SELECTED BY USER 
 // to generate the answers for the given question 
     $result = pg_prepare($dbconn, "query9", "SELECT title, answer
         FROM answers 
         WHERE questions_question_id = $1;");            // WARNINGS refer HERE
     // TODO I am not sure if the syntax is correct for parametr inside $_GET                             
     $result = pg_execute($dbconn, "query9", array($_GET["'question_id' = $questions_question_id"]));
           // Problem HERE inside the $_GET

Спасибо Nos и Jikhan за решение проблемы с $ dbconn и Саймону за решение главной проблемы этой темы!

Как можно получить из URL только вопрос_идентификатора, чтобы Postgres понял запрос?

Ответы [ 2 ]

5 голосов
/ 08 августа 2009

Кажется, что проблема не в запросе, а в подключении к базе данных (dbconn)

1 голос
/ 09 августа 2009

Ваш оператор $ _GET также выглядит довольно странно. Я не знаю, в чем смысл повторения «вопросов» в вашей ссылке, но если мы предположим, что ваши ссылки отформатированы так:

<a href="?questions=777">link1</a>

Вы можете получить доступ к ID 777 следующим образом:

$question_id = $_GET['questions'];

Я полагаю, что pg_execute () просто ожидает массив значений в том порядке, в котором вы их записываете в оператор подготовки. Поэтому вам не нужно пытаться присвоить переменную $ questions_question_id - это просто не сработает.

Я также хотел бы убедиться, что это содержит то, что вы ожидаете (т. Е. Просто идентификационный номер).

$question_id = filter_input(INPUT_GET, 'questions', FILTER_SANITIZE_NUMBER_INT);

Семейство функций фильтра доступно в PHP 5.2 и избавляет от любых нежелательных символов. Смотри http://php.net/manual/en/function.filter-input.php

filter_input () возвращает ноль, если переменная GET не установлена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...