Re: php5/oci8/oracle 11g1 insert doesn't work ..updated..sorry

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





--- On Sun, 11/23/08, Fred Silsbee <fredsilsbee@xxxxxxxxx> wrote:

> From: Fred Silsbee <fredsilsbee@xxxxxxxxx>
> Subject: Re:  php5/oci8/oracle 11g1 insert doesn't work ..updated..sorry
> To: "Jack van Zanen" <jack@xxxxxxxxxxxx>
> Cc: php-db@xxxxxxxxxxxxx
> Date: Sunday, November 23, 2008, 6:16 PM
> --- On Sun, 11/23/08, Jack van Zanen
> <jack@xxxxxxxxxxxx> wrote:
> 
> > From: Jack van Zanen <jack@xxxxxxxxxxxx>
> > Subject: Re:  php5/oci8/oracle 11g1 insert
> doesn't work ..updated..sorry
> > To: fredsilsbee@xxxxxxxxx
> > 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 <fredsilsbee@xxxxxxxxx>
> > 
> > > 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.


BINGO!

It was the ";" at the end of the select staement!

this works:

<?php // File: anyco.php

$db = "(DESCRIPTION =
   (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
   (CONNECT_DATA =
     (SERVER = DEDICATED)
     (SID = LMKIIIGDNSID)
   )
 )";
// oci_internal_debug(1);
if ($conn=oci_connect('landon', 'rumprocella',$db))
{
 print "Successfully connected to Oracle.\n\n";
 // OCILogoff($conn);
}
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";

?>



      


-- 
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux