Обсуждение: PostgreSQL - PHP insert deleted from database immediately?
Hi, I'm trying to insert data from a php-page. The connection is open and
select-functions work perfectly. The problem is that an insert will - as far
as I know - insert the data and then immediately erase it.
The insert statement executed from php is:
$otsikko = "Insert testi";
$teksti = "Koeteksti 1";
$sqllause = "INSERT INTO jutut (otsikko,teksti) VALUES ('";
$sqllause = $sqllause . $otsikko . "','" . $teksti . "');";
ECHO $sqllause;
$tulos = pg_exec ($db,$sqllause);
if (!$tulos) {
echo "Sql-insert error.\n";
exit;
}
This results are the following in the web-browser:
INSERT INTO jutut (otsikko,teksti) VALUES ('Insert testi','Koeteksti
1');
Which when copied into the psql-console indeed does the insert correctly.
The reason I know the PHP-insert is done, but deleted is derived from the
fact that an automatically incremented index in the table is incremented
when the php-script is executed.
I get no error messages.
Could someone please help?
...
> The insert statement executed from php is:
>
> $otsikko = "Insert testi";
> $teksti = "Koeteksti 1";
>
> $sqllause = "INSERT INTO jutut (otsikko,teksti) VALUES ('";
> $sqllause = $sqllause . $otsikko . "','" . $teksti . "');";
Have you tried without the ";"? Just like:
$sqllause = "INSERT INTO jutut (otsikko,teksti) VALUES ('";
$sqllause = $sqllause . $otsikko . "','" . $teksti . "')";
I have similar stuff around here, and it works just fine.
The piece of code I have:
$connect = pg_connect("host=$host dbname=$db user=$user password=$pass");
$insert_query = "INSERT INTO table(field1,field2,...,fieldN)
VALUES('$field1','$field2',...,'$fieldN')";
$result = pg_exec($connect,$insert_query);
pg_close($connect);
Obs: the $insert_query is defined in one line...
Ricardo.
> The insert statement executed from php is:
> >
> > $otsikko = "Insert testi";
> > $teksti = "Koeteksti 1";
> >
> > $sqllause = "INSERT INTO jutut (otsikko,teksti) VALUES ('";
> > $sqllause = $sqllause . $otsikko . "','" . $teksti . "');";
>
> Have you tried without the ";"? Just like:
>
> $sqllause = "INSERT INTO jutut (otsikko,teksti) VALUES ('";
> $sqllause = $sqllause . $otsikko . "','" . $teksti . "')";
Yes, tried it, didn't work.
Still at a loss as to what the problem is.
I haven't even had the time to figure out a workaround if there is any as
the problem is a pretty basic one.
Could it possibly be a problem with the database configuration?
Sami wrote:
>
> > The insert statement executed from php is:
> > >
> > > $otsikko = "Insert testi";
> > > $teksti = "Koeteksti 1";
> > >
> > > $sqllause = "INSERT INTO jutut (otsikko,teksti) VALUES ('";
> > > $sqllause = $sqllause . $otsikko . "','" . $teksti . "');";
Hmmm.... Looks a bit wierd..;-(
$sqllause = "INSERT INTO jutut (otsikko,teksti) VALUES
('$otsikko','$teksti');";
Should work...;-)
How did you execute the SQL query with PHP?
> >
> > Have you tried without the ";"? Just like:
> >
> > $sqllause = "INSERT INTO jutut (otsikko,teksti) VALUES ('";
> > $sqllause = $sqllause . $otsikko . "','" . $teksti . "')";
>
> Yes, tried it, didn't work.
> Still at a loss as to what the problem is.
> I haven't even had the time to figure out a workaround if there is any as
> the problem is a pretty basic one.
>
> Could it possibly be a problem with the database configuration?
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
--
/) John Clark Naldoza y Lopez (\
/ ) Software Design Engineer II ( \
_( (_ _ Web-Application Development _) )_
(((\ \> /_> Cable Modem Network Management System <_\ </ /)))
(\\\\ \_/ / NEC Telecom Software Phils., Inc. \ \_/ ////)
\ / \ /
\ _/ phone: (+63 32) 233-9142 loc. 3112 \_ /
/ / cellphone: (+63 919) 399-4742 \ \
/ / email: njclark@ntsp.nec.co.jp \ \