Bom esse é o script das tabelas: create sequence seq_cliente; create sequence seq_estado; create sequence seq_user; CREATE TABLE tb_clientes( id_cli int default nextval('seq_cliente') not null, inclusao_user date, nome_user varchar(80), end_user varchar(80), bairro_user varchar(40), email_user varchar(90), tel_user varchar(25), cidade_user varchar(80), estado_user int, primary key (id_cli) ); CREATE TABLE tb_estados( id_estado int default nextval(seq_estado) not null, estado varchar(60), uf char(3), primary key (id_estado) ); CREATE TABLE tb_user( id_user int default nextval(seq_user) not null, apelido varchar(60), senha varchar(20), primary key (id_user) ); E esse é o formulário de cadastro: http://pastebin.com/X6EPZ6ZA O insert lá da linha 80 não funciona. Retorna erro de sintaxe. Detalhe: se eu colocar assim $sql = pg_query("INSERT INTO tb_clientes (nome_user,end_user,bairro_user,email_user,tel_user,cidade_user) VALUES ('$nome_user','$end_user', '$bairro_user','$email_user','$tel_user','$cidade_user')"); não da erro. Agora se eu acrescento o $estado_user e sua respectiva coluna dá erro. Alguém sabe qual problema?