php5/oci8/oracle 11g1 insert doesn"t work
php5/oci8/oracle 11g1 insert doesn"t work
am 23.11.2008 00:38:07 von Fred Silsbee
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
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 );
oci_commit($conn);
OCILogoff($conn);
?>
This is my first php/oci8/oracle insert!
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
Re: php5/oci8/oracle 11g1 insert doesn"t work
am 23.11.2008 22:43:41 von dmagick
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
>
>
>
>
> 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/
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
Re: php5/oci8/oracle 11g1 insert doesn"t work
am 23.11.2008 23:41:21 von dmagick
Fred Silsbee wrote:
>
>
> --- On Sun, 11/23/08, Chris wrote:
>
>> From: Chris
>> Subject: Re: [PHP-DB] php5/oci8/oracle 11g1 insert doesn't work
>> To: fredsilsbee@yahoo.com
>> Cc: php-db@lists.php.net
>> 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
>>>
>>>
>>>
>>> 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
--
Postgresql & php tutorials
http://www.designmagick.com/
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
Re: php5/oci8/oracle 11g1 insert doesn"t work
am 24.11.2008 00:17:44 von Fred Silsbee
--- On Sun, 11/23/08, Chris wrote:
> From: Chris
> Subject: Re: [PHP-DB] php5/oci8/oracle 11g1 insert doesn't work
> To: fredsilsbee@yahoo.com, "PHP DB"
> Date: Sunday, November 23, 2008, 10:41 PM
> Fred Silsbee wrote:
> >
> >
> > --- On Sun, 11/23/08, Chris
> wrote:
> >
> >> From: Chris
> >> Subject: Re: [PHP-DB] php5/oci8/oracle 11g1 insert
> doesn't work
> >> To: fredsilsbee@yahoo.com
> >> Cc: php-db@lists.php.net
> >> 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
> >>>
> >>>
> >>>
> >>> 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!
$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
Re: php5/oci8/oracle 11g1 insert doesn"t work
am 24.11.2008 00:51:10 von dmagick
> PHP Parse error: syntax error, unexpected T_LNUMBER in try_logid.php on line 21
> Errors parsing try_logid.php
You have a parse error. PHP cannot work out what to do in the file. It's
a fatal error.
It's because on line 21 (like the message says) you are using single
quotes for in & out of the sql statement (not what the message says).
$string = 'in and 'out';
will give the same error.
Inside quotes, you have to escape quotes of the same type.
$string = 'in and \'out';
or
$string = "in and \"out";
or
$string = "in and 'out";
--
Postgresql & php tutorials
http://www.designmagick.com/
--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php