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

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

 





--- On Sun, 11/23/08, Chris <dmagick@xxxxxxxxx> wrote:

> From: Chris <dmagick@xxxxxxxxx>
> Subject: Re:  php5/oci8/oracle 11g1 insert doesn't work
> To: fredsilsbee@xxxxxxxxx, "PHP DB" <php-db@xxxxxxxxxxxxx>
> Date: Sunday, November 23, 2008, 10:41 PM
> Fred Silsbee wrote:
> > 
> > 
> > --- On Sun, 11/23/08, Chris <dmagick@xxxxxxxxx>
> wrote:
> > 
> >> From: Chris <dmagick@xxxxxxxxx>
> >> Subject: Re:  php5/oci8/oracle 11g1 insert
> doesn't work
> >> To: fredsilsbee@xxxxxxxxx
> >> Cc: php-db@xxxxxxxxxxxxx
> >> Date: Sunday, November 23, 2008, 9:43 PM
> >> Fred Silsbee wrote:
> >>> The following code doesn't do the insert.
> >>>
> >>> As is the connect message doesn't show.
> >>>
> >>> I've tried the insert statement in a
> session:
> >>>
> >>> [oracle@LMKIII log_book]$ sqlplus
> landon/rumprocella
> >>>
> >>> 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',
> >> 'rumprocella',$db))
> >>> {
> >>>  echo "Successfully connected to
> >> Oracle.\n";
> >>>  // OCILogoff($conn);
> >>> }
> >>> else
> >>> {
> >>>  $err = OCIError();
> >>>  echo "Oracle Connect Error " .
> >> $err['message'];
> >>> }
> >>> // the connect shows a connect if I comment
> out the
> >> following statements
> >>>   $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 );
> >> RTFM.
> >>
> >>  $err = OCIError($r);
> >>  echo "Oracle insert error " .
> >> $err['message'];
> >>
> >> -- Postgresql & php tutorials
> >> http://www.designmagick.com/
> > 
> > the code works now is the question why is there no
> display in the browser when the sql is bad?
> 
> Because you had a parse error and you most likely have all 
> display_errors and other such useful things turned off.
> 
> Save this code to a file.
> 
>  From the command line run:
> 
> php -l filename.php (that's an "L" not a
> one).
> 
> You will see:
> 
> 
> $ php -l test.php
> 
> Parse error: syntax error, unexpected T_LNUMBER in test.php
> on line 21
> Errors parsing test.php
> 
> 
> 
> -- 

I put back errors on purpose to teach myself how to handle errors!

I looked in the book and corrected my code to no avail!

<?php // File: anyco.php
$db = "(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = LMKIIIGDNSID)
)
)";
if ($conn=oci_connect('landon', 'rumprocella',$db))
{
echo "Successfully connected to Oracle.\n";
// OCILogoff($conn);
}
else
{
$err = OCIError();
echo "Oracle Connect Error " . $err;
}

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

// has errors
$stid = oci_parse($conn, 'insert into log_book_id values (logid.nextval, TO_DATE('08/12/1973','MM/dd/YYYY'),'B-17','N5787G',1,1.8);');

if (!$stid) {
$oerr = OCIError($conn);
var_dump($oerr);
echo "Parse error:".$oerr;
exit;
}

$r = oci_execute($stid );
if (!$r) {
$oerr = OCIError($stid);
echo "Exec error:".$oerr;
var_dump($oerr);
exit;
}

oci_commit($conn);
OCILogoff($conn);
echo "end";
?>

still no browser output

I did the command you suggested:

[root@LMKIII html]# php -l try_logid.php
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/php_oci8.dll' - /usr/lib/php/modules/php_oci8.dll: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php/modules/php_oracle.dll' - /usr/lib/php/modules/php_oracle.dll: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Parse error:  syntax error, unexpected T_LNUMBER in try_logid.php on line 21
Errors parsing try_logid.php

the route I traveled:

install 11g1
install pecl and phize in Fedora
install oci8 (according to your great instructions)
apache already installed

then I had to add environment variables to httpd and httpd.conf






      


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