몇일간 다른 일로 바빠서 테스트를 이제야 해보게 되었습니다.
그런데 일러주신대로 아무리 해도 여전히 똑같은 결과가 나오고 있습니다.
제 아파치 서버가 이상한 걸까요?
아무튼 도움에 감사드립니다....
나름대로 다른 방향으로도 테스트를 좀 해봐야겠군요...
감사~ ^^;
> > printf("Content/type: 'text/html' \n\n");
> > printf("<html> \n");
> > printf("<head> \n");
> > printf("<meta HTTP/EQUIV='Content/Type' CONTENT='text/html'> \n");
> > printf("<title>테스트</title> \n");
> >
> > printf("</head> \n");
> > printf("<body bgcolor=yellow>\n");
>
> printf ("Content/type: text/html\n\n");
> printf ("<HTML> \n");
> printf ("<HEAD> \n");
> printf ("<meta HTTP/EQUIV='Content/Type' CONTENT='text/html'> \n\n")
> ;
> printf ("<title>테스트</title> \n");
>
> printf ("</HEAD> \n");
> printf ("<body bgcolor=yellow>\n");
>
> 이렇게 정의를 해 주시면 될 것입니다.
>
> 참고로 저가 수정해 본 소스를 아래 적어 봅니다.
>
> ====================================================#include <stdio.h>
>
> #include "libpq/fe.h"
>
> void
> exit_nicely (PGconn * conn)
> {
> PQfinish (conn);
> exit (1);
> }
>
> main ()
> {
> char *pghost, *pgport, *pgoptions, *pgtty;
> char *dbName;
> int nFields;
> int i, j;
>
> /* File *debug; */
>
> PGconn *conn;
> PGresult *res;
>
> /*
> * begin, by setting the parameters for a backend connection
> if the
> * parameters are null, then the system will try to use reaso
> nable
> * defaults by looking up environment variables or, failing t
> han,
> * using hardwired constants
> */
> pghost = NULL; /* host name of the backend server */
>
> pgport = NULL; /* port of the backend server */
> pgoptions = NULL; /* special options to start up the bac
> kend server */
>
> pgtty = NULL; /* debugging tty for the backend serve
> r */
> dbName = "test";
>
> /* make a connection to the database */
> conn = PQsetdb (pghost, pgport, pgoptions, pgtty, dbName);
>
> /*
> * check to see that the backend connection was successfully made
> */
> if (PQstatus (conn) == CONNECTION_BAD)
> {
> fprintf (stderr, "Connection to database '%s' failed.\n", dbName
> );
>
> fprintf (stderr, "%s", PQerrorMessage (conn));
> exit_nicely (conn);
> }
>
> /* debug = fopen("/tmp/trace.out", ""); */
> /* PQtrace(conn, debug); */
>
> /* start a transaction block */
> res = PQexec (conn, "BEGIN");
> if (PQresultStatus (res) != PGRES_COMMAND_OK)
> {
> fprintf (stderr, "BEGIN command failed\n");
> PQclear (res);
> exit_nicely (conn);
> }
>
> /*
> * should PQclear PGresult it is no longer needed to avoid memory
> lear
> k
> */
> PQclear (res);
> /*
> * fetch instances from the pg_database, the system catalog of dat
> abas
> es
> */
> res = PQexec (conn, "DECLARE mycursor CURSOR FOR select * from ifmx"
> );
>
> if (PQresultStatus (res) != PGRES_COMMAND_OK)
>
> {
> fprintf (stderr, "DECLARE CURSOR command failed\n");
> PQclear (res);
> exit_nicely (conn);
> }
> PQclear (res);
> res = PQexec (conn, "FETCH ALL in mycursor");
> if (PQresultStatus (res) != PGRES_TUPLES_OK)
> {
> fprintf (stderr, "FETCH ALL command didn't return tuples properl
> y\n
> ");
> PQclear (res);
> exit_nicely (conn);
> }
> printf ("Content/type: text/html\n\n");
> printf ("<HTML> \n");
> printf ("<HEAD> \n");
> printf ("<meta HTTP/EQUIV='Content/Type' CONTENT='text/html'>
> \n\n");
> printf ("<title>테스트</title> \n");
>
> printf ("</HEAD> \n");
> printf ("<body bgcolor=yellow>\n");
> /* first, print out the attribute names */
> nFields = PQnfields (res);
> for (i = 0; i < nFields; i++)
> {
> printf ("%/15s", PQfname (res, i));
> }
> printf ("\n\n");
>
> /* next, print out the instances */
> for (i = 0; i < PQntuples (res); i++)
> {
> for (j = 0; j < nFields; j++)
> printf ("%/15s", PQgetvalue (res, i, j));
> printf ("\n");
> }
> PQclear (res);
> printf ("</body>\n");
> printf ("</html>\n");
> /* close the cursor */
> res = PQexec (conn, "CLOSE mycursor");
> PQclear (res);
>
> /* commit the traction */
> res = PQexec (conn, "COMMIT");
> PQclear (res);
>
> /* close the connection to the database and cleanup */
> PQfinish (conn);
>
> /* fclose(debug); */
> }
>
>
>
|