Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

adsoncs

[Resolvido] Impossível inserir dados na base de dados!

Recommended Posts

Boa tarde galera, queria uma ajuda com isso...

peguei um script e instalei tudo certinho...

fiz a base de dados no postgre configurei a conexao com banco de dados, etc...

Quando tento inserir algum dado me retorna esse erro: Impossível inserir dados na base de dados!

mas quando eu insiro os dados pelo banco diretamente no phppgadmin ele puxa e adita normal salvando no banco de dados, ele so nao insere.

me ajudem porfavor!

 

codigos abaixo:

insert.php

 

<?
 include("comum.php");
 insert($_TABELAS);
 include("../../inc/$_RODAPE");
?>
-----------------/-----------------
comum.php
<?
 $_NIVEL = "../../";

 $modulo = $_GET['modulo'];


 include($_NIVEL . "conf/common.php");
 include($_NIVEL . "inc/header.php");
 include($_NIVEL . "inc/topmain.php");


 echo "<table width=100% height=89% border=0 callpadding=0 cellspacing=1>\n";
 echo "  <tr valign=top>\n";
 echo "    <td class=leftMain width=170 align=left scope=col><BR>\n";



 include("../../modulos/".$_GET['modulo']. ".php");


?>
<CENTER>
<div id="topo_pag1">
Administração do wPonto
</div>
<div id="topo_pag">
 <img src="<?=$_DIRIMGS . "/" . $_IMGSUB?>" /> <a class=blue href="index.php?modulo=<?=$_GET['modulo']?>"><?=$_SUBTITULO?></a>
</div>
</center><BR>

<?
?>
-----------------/-----------------
unidades.php
<?
 $_NIVEL         = "../";

 $_TOTPAG	  = 100;
 $_CAMPO	  = "u.id_unidade";

 $_TABELAS       = "unidades u";
 $_COLUNAS       = array("$_CAMPO","u.nome_fantasia","u.bairro", "u.uf", "u.telefone", "u.gerente");
 $_WHERE         = "u.id_unidade >= 0";
 $_ORDERTIPO     = "";
 $_ORDER         = "1";

 $_LEGENDAS      = array("Cód:","Nome Fantasia:","Bairro:", "UF:", "Tel.:", "Gerente:");
 $_TAMANHOS      = array("5%","30%","10%", "2%", "10%", "10%");


 $_CAMPOSFORM    = array("$_CAMPO","u.nome_fantasia", "u.razao_social", "u.cnpj","u.endereco", "u.bairro", "u.cidade", "u.uf", "u.telefone", "u.gerente", "u.email", "u.obs");
 $_LEGENDASFORM  = array("Cód:","Nome Fantasia:","Razão Social:", "CNPJ:", "Endereço:", "Bairro:", "Cidade:", "UF:", "Telefone:", "Gerente:", "Email:", "OBS:");
 $_TAMANHOSFORM  = array("5%","45%", "45%", "15%", "45%", "20%", "20%", "2%", "10%", "25%", "25%", "75%");
 $_MASCARAS      = array("none", "none", "none", "none","none", "none", "none", "uf", "tel_res", "none", "none", "none");


 $_TITULOEDIT    = "Alteração dos dados da Unidade";
 $_TITULOEXCLUIR = "Exclusão dos dados da Unidade";
 $_TITULONOVO	  = "Cadastro de Unidades";
 $_TITULOPREVIEW = "Confirme os dados da Unidade";


 $_SUBTITULO     = "Gerenciar Unidades";

 $_IMGSUB        = "unidades.png";

 if (!isset($_GET['modulo']))  include($_NIVEL . "inc/acoes/index.php");
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você consegue fazer a inserção por algum gerenciador de banco de dados?

 

Abraços...

 

Não.. só consigo da forma que citei... colocando os dados no banco de dados na mao...

pode ser que tipo de erro?

 

Abração!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente executar seu comando insert direto por algum gerenciador e poste aqui a mensagem de erro.

Esta mensagem esta muito ampla.

 

Abraços...

 

Amigo acabei de descobrir o problema mas nao consegui a solução...

entao segue o problema...

 

O erro acontece quando eu insiro um funcionario por exemplo e os campos que tem "INCREMENT"

que no caso sao os ID estao indo como NULL e o .bd nao aceita NULL

 

CREATE TABLE funcionarios (
    id_funcionario integer NOT NULL,
    nome character varying(150) NOT NULL,
    endereco character varying(250),
    bairro character varying(100),
    cidade character varying(150),
    uf character varying(2),
    telefone character varying(15),
    cargo character varying(100),
    c_trabalho character varying(20),
    id_unidade integer NOT NULL,
    login character varying(30) NOT NULL,
    senha character varying(50) NOT NULL,
    data_admissao date,
    horas_dia time without time zone,
    horas_mes integer,
    hora_entrada_tarde time without time zone DEFAULT '00:00:00'::time without time zone,
    hora_saida_manha time without time zone DEFAULT '00:00:00'::time without time zone,
    hora_saida_tarde time without time zone DEFAULT '00:00:00'::time without time zone,
    hora_entrada_manha time without time zone DEFAULT '00:00:00'::time without time zone
);


ALTER TABLE public.funcionarios OWNER TO wponto;

--
-- TOC entry 1480 (class 1259 OID 16399)
-- Dependencies: 1479 6
-- Name: funcionarios_id_funcionario_seq; Type: SEQUENCE; Schema: public; Owner: wponto
--

CREATE SEQUENCE funcionarios_id_funcionario_seq
    START WITH 1
    INCREMENT BY 1
    NO MAXVALUE
    NO MINVALUE
    CACHE 1;

codigo do insert.php

<?
  include("comum.php");
  insert($_TABELAS);
  include("../../inc/$_RODAPE");
?>

codigo que insere um dos registros

  $_TABELAS       = "unidades u";
  $_COLUNAS       = array("$_CAMPO","u.nome_fantasia","u.bairro", "u.uf", "u.telefone", "u.gerente");
  $_WHERE         = "u.id_unidade >= 0";
  $_ORDERTIPO     = "";
  $_ORDER         = "1";

Oque eu poderia estar mudando no codigo ou no banco de dados para nao retornar mais o erro...

 

ERROR: null value in column "id_unidade" violates not-null constraint

 

Obrigado e abração galera!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não passe os campos que são INCREMENT no seu insert, não precisa informá-los.

 

Abraços...

 

A questão é que nao existe o campo para ser digitado ele é oculto a cada registro ele joga no banco de dados um id e é ai que dá o erro, descobri algo mas nao sei aplicar, na criação do banco de dados apareceu varias mensagens de erro e creio que possa ser la o problema.. a solução pode estar aqui mas como disse nao sei aplicar...

 

Codigo original do BD

--
-- PostgreSQL database dump
--

-- Started on 2009-05-29 01:37:37 BRT

SET client_encoding = 'UTF8';
SET standard_conforming_strings = off;
SET check_function_bodies = false;
SET client_min_messages = warning;
SET escape_string_warning = off;

SET search_path = public, pg_catalog;

SET default_tablespace = '';

SET default_with_oids = false;

--
-- TOC entry 1478 (class 1259 OID 16386)
-- Dependencies: 6
-- Name: clientes; Type: TABLE; Schema: public; Owner: wponto; Tablespace: 
--

CREATE TABLE clientes (
);


ALTER TABLE public.clientes OWNER TO wponto;

--
-- TOC entry 1479 (class 1259 OID 16389)
-- Dependencies: 1754 1755 1756 1757 6
-- Name: funcionarios; Type: TABLE; Schema: public; Owner: wponto; Tablespace: 
--

CREATE TABLE funcionarios (
    id_funcionario integer DEFAULT 0 NOT NULL,
    nome character varying(150) NOT NULL,
    endereco character varying(250),
    bairro character varying(100),
    cidade character varying(150),
    uf character varying(2),
    telefone character varying(15),
    cargo character varying(100),
    c_trabalho character varying(20),
    id_unidade integer NOT NULL,
    login character varying(30) NOT NULL,
    senha character varying(50) NOT NULL,
    data_admissao date,
    horas_dia time without time zone,
    horas_mes integer,
    hora_entrada_tarde time without time zone DEFAULT '00:00:00'::time without time zone,
    hora_saida_manha time without time zone DEFAULT '00:00:00'::time without time zone,
    hora_saida_tarde time without time zone DEFAULT '00:00:00'::time without time zone,
    hora_entrada_manha time without time zone DEFAULT '00:00:00'::time without time zone
);


ALTER TABLE public.funcionarios OWNER TO wponto;

--
-- TOC entry 1480 (class 1259 OID 16399)
-- Dependencies: 1479 6
-- Name: funcionarios_id_funcionario_seq; Type: SEQUENCE; Schema: public; Owner: wponto
--

CREATE SEQUENCE funcionarios_id_funcionario_seq
    INCREMENT 1 
		START 1 
		NO MAXVALUE 
		NO MINVALUE 
		CACHE 1;
    

ALTER TABLE public.funcionarios_id_funcionario_seq OWNER TO wponto;

--
-- TOC entry 1774 (class 0 OID 0)
-- Dependencies: 1480
-- Name: funcionarios_id_funcionario_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: wponto
--

ALTER SEQUENCE funcionarios_id_funcionario_seq OWNED BY funcionarios.id_funcionario;


--
-- TOC entry 1481 (class 1259 OID 16401)
-- Dependencies: 6
-- Name: ip_cliente; Type: TABLE; Schema: public; Owner: wponto; Tablespace: 
--

CREATE TABLE ip_cliente (
);


ALTER TABLE public.ip_cliente OWNER TO wponto;

--
-- TOC entry 1482 (class 1259 OID 16404)
-- Dependencies: 1759 6
-- Name: pontos; Type: TABLE; Schema: public; Owner: wponto; Tablespace: 
--

CREATE TABLE pontos (
    id_ponto integer DEFAULT 0 NOT NULL,
    id_funcionario integer,
    tipo integer NOT NULL,
    data_hora timestamp without time zone NOT NULL,
    ip_ponto character varying(15) DEFAULT '0.0.0.0'::character varying
);


ALTER TABLE public.pontos OWNER TO wponto;

--
-- TOC entry 1483 (class 1259 OID 16408)
-- Dependencies: 6 1482
-- Name: pontos_id_ponto_seq; Type: SEQUENCE; Schema: public; Owner: wponto
--

CREATE SEQUENCE pontos_id_ponto_seq
    INCREMENT 1 
		START 1 
		NO MAXVALUE 
		NO MINVALUE 
		CACHE 1;


ALTER TABLE public.pontos_id_ponto_seq OWNER TO wponto;

--
-- TOC entry 1775 (class 0 OID 0)
-- Dependencies: 1483
-- Name: pontos_id_ponto_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: wponto
--

ALTER SEQUENCE pontos_id_ponto_seq OWNED BY pontos.id_ponto;


--
-- TOC entry 1484 (class 1259 OID 16410)
-- Dependencies: 6
-- Name: unidades; Type: TABLE; Schema: public; Owner: wponto; Tablespace: 
--

CREATE TABLE unidades (
    id_unidade integer DEFAULT 0 NOT NULL,
    nome_fantasia character varying(40) NOT NULL,
    endereco character varying(40),
    bairro character varying(40),
    cidade character varying(40),
    uf character varying(2),
    telefone character varying(15),
    gerente character varying(40),
    email character varying(50),
    obs text,
    razao_social character varying(100),
    cnpj character varying(25),
    id_ip integer
);


ALTER TABLE public.unidades OWNER TO wponto;

--
-- TOC entry 1485 (class 1259 OID 16416)
-- Dependencies: 6 1484
-- Name: unidades_id_unidade_seq; Type: SEQUENCE; Schema: public; Owner: wponto
--

CREATE SEQUENCE unidades_id_unidade_seq
    INCREMENT 1 
		START 1 
		NO MAXVALUE 
		NO MINVALUE 
		CACHE 1;


ALTER TABLE public.unidades_id_unidade_seq OWNER TO wponto;

--
-- TOC entry 1776 (class 0 OID 0)
-- Dependencies: 1485
-- Name: unidades_id_unidade_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: wponto
--

ALTER SEQUENCE unidades_id_unidade_seq OWNED BY unidades.id_unidade;


--
-- TOC entry 1486 (class 1259 OID 16418)
-- Dependencies: 6
-- Name: usuarios; Type: TABLE; Schema: public; Owner: wponto; Tablespace: 
--

CREATE TABLE usuarios (
    id_usuario integer DEFAULT 0 NOT NULL,
    usuario character varying(40),
    senha character(32) NOT NULL,
    tipo character(1)
);


ALTER TABLE public.usuarios OWNER TO wponto;

--
-- TOC entry 1487 (class 1259 OID 16421)
-- Dependencies: 1486 6
-- Name: usuarios_id_usuario_seq; Type: SEQUENCE; Schema: public; Owner: wponto
--

CREATE SEQUENCE usuarios_id_usuario_seq
    INCREMENT 1 
		START 1 
		NO MAXVALUE 
		NO MINVALUE 
		CACHE 1;


ALTER TABLE public.usuarios_id_usuario_seq OWNER TO wponto;

--
-- TOC entry 1777 (class 0 OID 0)
-- Dependencies: 1487
-- Name: usuarios_id_usuario_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: wponto
--

ALTER SEQUENCE usuarios_id_usuario_seq OWNED BY usuarios.id_usuario;


--
-- TOC entry 1758 (class 2604 OID 16423)
-- Dependencies: 1480 1479
-- Name: id_funcionario; Type: DEFAULT; Schema: public; Owner: wponto
--

ALTER TABLE funcionarios ALTER COLUMN id_funcionario SET DEFAULT nextval('funcionarios_id_funcionario_seq'::regclass);


--
-- TOC entry 1760 (class 2604 OID 16424)
-- Dependencies: 1483 1482
-- Name: id_ponto; Type: DEFAULT; Schema: public; Owner: wponto
--

ALTER TABLE pontos ALTER COLUMN id_ponto SET DEFAULT nextval('pontos_id_ponto_seq'::regclass);


--
-- TOC entry 1761 (class 2604 OID 16425)
-- Dependencies: 1485 1484
-- Name: id_unidade; Type: DEFAULT; Schema: public; Owner: wponto
--

ALTER TABLE unidades ALTER COLUMN id_unidade SET DEFAULT nextval('unidades_id_unidade_seq'::regclass);


--
-- TOC entry 1762 (class 2604 OID 16426)
-- Dependencies: 1487 1486
-- Name: id_usuario; Type: DEFAULT; Schema: public; Owner: wponto
--

ALTER TABLE usuarios ALTER COLUMN id_usuario SET DEFAULT nextval('usuarios_id_usuario_seq'::regclass);


--
-- TOC entry 1766 (class 2606 OID 16428)
-- Dependencies: 1486 1486
-- Name: id_usuario; Type: CONSTRAINT; Schema: public; Owner: wponto; Tablespace: 
--

ALTER TABLE ONLY usuarios
    ADD CONSTRAINT id_usuario PRIMARY KEY (id_usuario);


--
-- TOC entry 1763 (class 1259 OID 16429)
-- Dependencies: 1479
-- Name: index_id_funcionario; Type: INDEX; Schema: public; Owner: wponto; Tablespace: 
--

CREATE UNIQUE INDEX index_id_funcionario ON funcionarios USING btree (id_funcionario);


--
-- TOC entry 1764 (class 1259 OID 16430)
-- Dependencies: 1484
-- Name: index_id_unidade; Type: INDEX; Schema: public; Owner: wponto; Tablespace: 
--

CREATE UNIQUE INDEX index_id_unidade ON unidades USING btree (id_unidade);


--
-- TOC entry 1767 (class 2606 OID 16431)
-- Dependencies: 1764 1479 1484
-- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: wponto
--

ALTER TABLE ONLY funcionarios
    ADD CONSTRAINT "$1" FOREIGN KEY (id_unidade) REFERENCES unidades(id_unidade) ON UPDATE CASCADE;


--
-- TOC entry 1768 (class 2606 OID 16436)
-- Dependencies: 1482 1479 1763
-- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: wponto
--

ALTER TABLE ONLY pontos
    ADD CONSTRAINT "$1" FOREIGN KEY (id_funcionario) REFERENCES funcionarios(id_funcionario) ON UPDATE CASCADE;


--
-- TOC entry 1773 (class 0 OID 0)
-- Dependencies: 6
-- Name: public; Type: ACL; Schema: -; Owner: postgres
--

REVOKE ALL ON SCHEMA public FROM PUBLIC;
REVOKE ALL ON SCHEMA public FROM postgres;
GRANT ALL ON SCHEMA public TO postgres;
GRANT ALL ON SCHEMA public TO PUBLIC;


-- Completed on 2009-05-29 01:37:37 BRT

--
-- PostgreSQL database dump complete
--

Erros ao criar o .bd

 

SET
estrutura_base.sql:8: ERROR: unrecognized configuration parameter "standard_conforming_strings"
SET
SET
estrutura_base.sql:11: ERROR: unrecognized configuration parameter "escape_string_warning"
SET
estrutura_base.sql:15: ERROR: unrecognized configuration parameter "default_tablespace"
estrutura_base.sql:17: ERROR: unrecognized configuration parameter "default_with_oids"
estrutura_base.sql:26: ERROR: relation "clientes" already exists
estrutura_base.sql:29: ERROR: must be superuser to alter owner
estrutura_base.sql:57: ERROR: relation "funcionarios" already exists
estrutura_base.sql:60: ERROR: must be superuser to alter owner
estrutura_base.sql:73: ERROR: relation "funcionarios_id_funcionario_seq" already exists
estrutura_base.sql:76: ERROR: must be superuser to alter owner
estrutura_base.sql:84: ERROR: syntax error at or near "OWNED" at character 56
estrutura_base.sql:94: ERROR: relation "ip_cliente" already exists
estrutura_base.sql:97: ERROR: must be superuser to alter owner
estrutura_base.sql:111: ERROR: relation "pontos" already exists
estrutura_base.sql:114: ERROR: must be superuser to alter owner
estrutura_base.sql:127: ERROR: relation "pontos_id_ponto_seq" already exists
estrutura_base.sql:130: ERROR: must be superuser to alter owner
estrutura_base.sql:138: ERROR: syntax error at or near "OWNED" at character 44
estrutura_base.sql:161: ERROR: relation "unidades" already exists
estrutura_base.sql:164: ERROR: must be superuser to alter owner
estrutura_base.sql:177: ERROR: relation "unidades_id_unidade_seq" already exists
estrutura_base.sql:180: ERROR: must be superuser to alter owner
estrutura_base.sql:188: ERROR: syntax error at or near "OWNED" at character 48
estrutura_base.sql:202: ERROR: relation "usuarios" already exists
estrutura_base.sql:205: ERROR: must be superuser to alter owner
estrutura_base.sql:218: ERROR: relation "usuarios_id_usuario_seq" already exists
estrutura_base.sql:221: ERROR: must be superuser to alter owner
estrutura_base.sql:229: ERROR: syntax error at or near "OWNED" at character 48
estrutura_base.sql:238: ERROR: function nextval(regclass) does not exist
HINT: No function matches the given name and argument types. You may need to add explicit type casts.
estrutura_base.sql:247: ERROR: function nextval(regclass) does not exist
HINT: No function matches the given name and argument types. You may need to add explicit type casts.
estrutura_base.sql:256: ERROR: function nextval(regclass) does not exist
HINT: No function matches the given name and argument types. You may need to add explicit type casts.
estrutura_base.sql:265: ERROR: function nextval(regclass) does not exist
HINT: No function matches the given name and argument types. You may need to add explicit type casts.
estrutura_base.sql:275: ERROR: multiple primary keys for table "usuarios" are not allowed
estrutura_base.sql:284: ERROR: relation "index_id_funcionario" already exists
estrutura_base.sql:293: ERROR: relation "index_id_unidade" already exists
estrutura_base.sql:303: ERROR: constraint "$1" for relation "funcionarios" already exists
estrutura_base.sql:313: ERROR: constraint "$1" for relation "pontos" already exists
REVOKE
REVOKE
estrutura_base.sql:324: ERROR: permission denied for schema public
estrutura_base.sql:325: ERROR: permission denied for schema public

Total runtime: 159.565 ms

SQL executado.

 

Possivel forma de arrumar, mas nao sei aplicar no meu caso...

01.-- sample data to test PostgreSQL INFORMATION_SCHEMA
02.  
03.-- TABLE TEST
04.CREATE TABLE TEST (
05.  TEST_NAME CHAR(30) NOT NULL,
06.  TEST_ID INTEGER DEFAULT '0' NOT NULL,
07.  TEST_DATE TIMESTAMP NOT NULL
08.);
09.ALTER TABLE TEST ADD CONSTRAINT PK_TEST PRIMARY KEY (TEST_ID);
10.  
11.-- TABLE TEST2 with some CONSTRAINTs and an INDEX
12.CREATE TABLE TEST2 (
13.  ID INTEGER NOT NULL,
14.  FIELD1 INTEGER,
15.  FIELD2 CHAR(15),
16.  FIELD3 VARCHAR(50),
17.  FIELD4 INTEGER,
18.  FIELD5 INTEGER,
19.  ID2 INTEGER NOT NULL
20.);
21.ALTER TABLE TEST2 ADD CONSTRAINT PK_TEST2 PRIMARY KEY (ID2);
22.ALTER TABLE TEST2 ADD CONSTRAINT TEST2_FIELD1ID_IDX UNIQUE (ID, FIELD1);
23.ALTER TABLE TEST2 ADD CONSTRAINT TEST2_FIELD4_IDX UNIQUE (FIELD4);
24.CREATE INDEX TEST2_FIELD5_IDX ON TEST2(FIELD5);
25.  
26.-- TABLE NUMBERS
27.CREATE TABLE NUMBERS (
28.  NUMBER INTEGER DEFAULT '0' NOT NULL,
29.  EN CHAR(100) NOT NULL,
30.  FR CHAR(100) NOT NULL
31.);

 

Se puderem me ajudar, valeu mesmo... Abração

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido...

 

Valeu pela atenção, mas o erro era na sequencia pra fazer auto_increment na criação do banco de dados..

 

codigo errado!

ALTER TABLE funcionarios ALTER COLUMN id_funcionario SET DEFAULT nextval('funcionarios_id_funcionario_seq'::regclass);

codigo correto!

ALTER TABLE funcionarios ALTER COLUMN id_funcionario SET DEFAULT nextval('funcionarios_id_funcionario_seq'::text);

Valeu e abração!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resolvido...

 

Valeu pela atenção, mas o erro era na sequencia pra fazer auto_increment na criação do banco de dados..

 

codigo errado!

ALTER TABLE funcionarios ALTER COLUMN id_funcionario SET DEFAULT nextval('funcionarios_id_funcionario_seq'::regclass);

codigo correto!

ALTER TABLE funcionarios ALTER COLUMN id_funcionario SET DEFAULT nextval('funcionarios_id_funcionario_seq'::text);

Valeu e abração!

 

 

Fala amigo tudo bem com você?

 

Um salve para todos.

 

Amigo adsoncs, não sei se entendi direito?

 

você simplesmente substituiu tudo do script de (regclass) para (text) só foi isso e importou o dandado?

 

Se a resposta for sim, comigo não funfou???

 

Se possível, você pode mandar via link seu arquivo já pronto para upar, ou seja, (já corrigido)?

 

Agradeço pela vossa atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.