Re: [PHP-DB] php5/oci8/oracle 11g1 insert doesn't work ..updated..sorry

[email protected] (Fred Silsbee)
Newsgroups php.db
Message-ID <[email protected]>


--- On Sun, 11/23/08, Fred Silsbee <[email protected]> wrote:

> From: Fred Silsbee <[email protected]>
> Subject: Re: [PHP-DB] php5/oci8/oracle 11g1 insert doesn't work ..updated..sorry
> To: "Jack van Zanen" <[email protected]>
> Cc: [email protected]
> Date: Sunday, November 23, 2008, 6:16 PM
> --- On Sun, 11/23/08, Jack van Zanen
> <[email protected]> wrote:
> 
> > From: Jack van Zanen <[email protected]>
> > Subject: Re: [PHP-DB] php5/oci8/oracle 11g1 insert
> doesn't work ..updated..sorry
> > To: [email protected]
> > Date: Sunday, November 23, 2008, 7:09 AM
> > a few things really
> > 
> > I would stick the sql in a seperate variable that you
> can
> > than echo to
> > screen (debugging sql)
> > 
> > Because I think your sql string does not go across
> properly
> > unless you
> > escape the single quotes you need to send across as
> single
> > quotes.
> > <<<<<<
> > $sql='insert into log_book values (
> >
> TO_DATE(\'08/12/1973\',\'MM/dd/YYYY\'),\'B-17\',\'N5787G\',1,1.8)';
> > echo $sql;
> > 
> >  $stid = oci_parse($conn,$sql );
> > <<<<<<
> > Jack
> > 
> > 2008/11/23 Fred Silsbee <[email protected]>
> > 
> > > The following code doesn't do the insert.
> > >
> > > I've tried the insert statement in a session:
> > >
> > > [oracle@LMKIII log_book]$ sqlplus
> landon/<PW>
> > >
> > > SQL*Plus: Release 11.1.0.6.0 - Production on Sat
> Nov
> > 22 16:01:39 2008
> > >
> > > Copyright (c) 1982, 2007, Oracle.  All rights
> > reserved.
> > >
> > >
> > > Connected to:
> > > Oracle Database 11g Enterprise Edition Release
> > 11.1.0.6.0 - Production
> > > With the Partitioning, OLAP, Data Mining and Real
> > Application Testing
> > > options
> > >
> > > SQL> select * from log_book where
> > actype='B-17';
> > >
> > > no rows selected
> > >
> > > SQL> quit
> > > Disconnected from Oracle Database 11g Enterprise
> > Edition Release 11.1.0.6.0
> > > - Production
> > > With the Partitioning, OLAP, Data Mining and Real
> > Application Testing
> > > options
> > >
> > >
> > > <?php // File: anyco.php
> > >
> > > require('anyco_ui.inc');
> > >
> > > $db = "(DESCRIPTION =
> > >   (ADDRESS = (PROTOCOL = TCP)(HOST =
> 127.0.0.1)(PORT =
> > 1521))
> > >   (CONNECT_DATA =
> > >     (SERVER = DEDICATED)
> > >     (SID = LMKIIIGDNSID)
> > >   )
> > > )";
> > > if ($conn=oci_connect('landon',
> > 'PWD',$db))
> > > {
> > > echo "Successfully connected to
> > Oracle.\n";
> > >
> > > }
> > > else
> > > {
> > > $err = OCIError();
> > > echo "Oracle Connect Error " .
> > $err['message'];
> > > }
> > >
> > >
> > >  $stid = oci_parse($conn, 'insert into
> log_book
> > values (
> > >
> >
> TO_DATE('08/12/1973','MM/dd/YYYY'),'B-17','N5787G',1,1.8);');
> > >
> > >  $r = oci_execute($stid );
> > >
> > >        oci_commit($conn);
> > >        OCILogoff($conn);
> > > echo "end";
> > > ?>
> > >
> > > produces:  Successfully connected to Oracle.end
> > >
> > >
> > > This is my first php/oci8/oracle insert! What
> could be
> > simpler! HELP!
> > >
> > > In desperation, I used em to give myself every
> > possible privilege !
> > >
> > > Not good but after it works, I can go back and
> correct
> > and learn
> > > privileges!
> > >
> > > I rebooted and tried this again to no avail.
> > >
> > > I suspected a commit problem but oci_execute has
> > commit as default!
> > >
> > > The table has no primary key defined since no
> values
> > are unique.
> > >
> > > I have a similar table with a row id!
> > >
> > >
> > >
> > >
> > >
> > > --
> > > PHP Database Mailing List (http://www.php.net/)
> > > To unsubscribe, visit:
> http://www.php.net/unsub.php
> > >
> > >
> > 
> > 
> > -- 
> > J.A. van Zanen
> 
> 
> this is bad! good thing the script is simple
> 
> thanks for your code
> 
> I have 43 years of programming experience and you'd
> think I'd know better.
> 
> This is however so simple (2 lines right out of the book) I
> expected it to work right out of the book!
> 
> With this code, however, I do not even get the following:
> 
> Successfully connected to Oracle. end 
> 
> This is however a great clue!
> 
> Strange that yesterday I was running this and started
> sqldeveloper to find
> 
> it showing the table NOT existing!
> 
> I shut off the browser and bingo the table showed existing.
> 
> It didn't show busy...but non existent!
> 
> It happened again:
> 
> It didn't show busy...but non existent!
> 
> I shut off the browser and bingo the table showed existing.

the last problem (whew!): you mentioned this-> THANKS

$stid = oci_parse($conn, 'insert into log_book values ( TO_DATE('08/12/1973','MM/dd/YYYY'),'B-17','N5787G',1,1.8)');

should be changed to :

$stid = oci_parse($conn, "insert into log_book values ( TO_DATE('08/12/1973','MM/dd/YYYY'),'B-17','N5787G',1,1.8)");

in other places this makes no difference
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.