PHP postrgres SQL выполняет запрос - PullRequest
1 голос
/ 25 ноября 2011

У меня проблемы с выполнением запроса внутри php.У меня следующий запрос в моем php-коде:

    $nome = pg_escape_string($_POST['cnome']);

$obtem_idb = "SELECT idb FROM banda WHERE nome = $nome";

echo("$nome");

$idb = pg_query($connection, $obtem_idb);
if(!$idb){
        die("Error in SQL query: " . pg_last_error());
    } else { 
echo("o idb que vem da query é $idb");
}

Имя, которое я печатаю, верное, но при попытке выполнить запрос я получаю следующую ошибку:

Error in SQL query: ERROR: column "anthrax" does not exist LINE 1: SELECT idb FROM banda WHERE nome = Anthrax ^

Может кто-нибудьпомогите, я не могу найти ошибку.

Когда я помещаю переменную $ nome в одинарные кавычки, ее значение меняется на 'Resource id # 2', и я получаю следующую ошибку:

Error in SQL query: ERROR: insert or update on table "edicao" violates foreign key constraint "edicao_idb_fkey" DETAIL: Key (idb)=(Resource id #2) is not present in table "banda".

Ответы [ 3 ]

1 голос
/ 25 ноября 2011

вам нужно указать $ nome в вашем sql запросе

$obtem_idb = "SELECT idb FROM banda WHERE nome = '$nome'";
1 голос
/ 25 ноября 2011

Вы должны поместить ссылку на $ nome в одинарные кавычки:

$obtem_idb = "SELECT idb FROM banda WHERE nome = '$nome'";
1 голос
/ 25 ноября 2011

Вы забыли кавычки вокруг значения:

$obtem_idb = "SELECT idb FROM banda WHERE nome = '$nome'";
                                                 ^-----^--- must be quoted
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...