--- 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