From: | Enrique Rodriguez Lazaro <enrique(at)xpress(dot)es> |
---|---|
To: | PSQL ADMIN <pgsql-admin(at)postgreSQL(dot)org> |
Subject: | Re: [INTERFACES] Ghost insert |
Date: | 1999-12-23 16:16:16 |
Message-ID: | 38624AD0.D6AD053@xpress.es |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-interfaces |
"D'Arcy J.M. Cain" wrote:
>
> Thus spake Enrique Rodriguez Lazaro
> > Hi.
> >
> > I am trying to do a interface from a web over my database postgresql
> > whit libpq.
> >
> > I can't do a simple 'insert' from libpq.
>
> Just guessing here but is it possible that clientes is a view and you are
> seeing the underlying table when you select after the insert? In PostgreSQL,
> views are real tables. They just have an implied rule on select that gets
> data from a SELECT statement instead of the named table. See the following
> URL for more details.
>
> http://www.postgresql.org/docs/programmer/rules890.htm
>
> > I'm doing this:
> >
> > sprintf(temp_string,"insert into clientes
> > values('fff','prueba','123','123','pepe gotera','jjjjjj','jjj')");
> >
> > res1=PQexec(conn,temp_string);
> > tuplas=PQresultStatus(res1);
>
> If the above is not your problem then you might also try PQoidStatus(res1)
> to see what the resulting OID is.
>
I can't resolve the problem.
clientes is a table, isn't a view.
All it's correct with respect the distints solutions that i have
recived. The last time i have put this on my C program:
sprintf(temp_string,"insert into clientes
values('f','p','1','23','pepe gotera','j,'j')");
/* NOTE: the ';' it's not necesary*/
res1=PQexec(conn,temp_string);
tuplas=PQresultStatus(res1);
imprime_cab_html(0);
printf("Status: %s<br><p>\n",PQoidStatus(res1));
printf("Resultado: %s<br><p>\n",PQresStatus(tuplas));
printf("Temp_string: %s\n",temp_string);
printf("</body></html>");
And the result it's this:
Status: 19648
Resultado: PGRES_COMMAND_OK
Temp_string: insert into clientes values('f','p','1','23','pepe
gotera','j','j')
That's the clientes table:
\d clientes
Table = clientes
+----------------------+----------------------------------+-------+
| Field | Type | Length|
+----------------------+----------------------------------+-------+
| id_cli | text not null | var |
| empresa | text | var |
| nif | text | var |
| ubicacion | text | var |
| telefono | text | var |
| contacto | text | var |
| observaciones | text | var |
+--------------- ------+----------------------------------+-------+
Index: clientes_pkey
The permissions over this database are:
> \z
Database = xpress
+---------------+--------------------------+
| Relation | Grant/Revoke Permissions |
+---------------+--------------------------+
| clientes | {"=","nobody=arwR"} |
| comerciales | {"=","nobody=arwR"} |
| prueba | {"=","nobody=arwR"} |
| prueba_id_seq | |
| seq1 | |
| tecnicos | {"=","nobody=arwR"} |
'nobody' is the apache user.
If nobody run the query insert from the prompt of psql, the insert have
effect. It's ok.
Where it's the problem?
Thanks in advanced.
From | Date | Subject | |
---|---|---|---|
Next Message | D'Arcy J.M. Cain | 1999-12-23 17:00:49 | Re: [INTERFACES] Ghost insert |
Previous Message | Tom Lane | 1999-12-23 15:36:15 | Re: [INTERFACES] Ghost insert |