Solved

PHP Fatal error: Call to undefined method DB_Error::query()

Posted on 2007-11-29
9
6,167 Views
Last Modified: 2013-12-12
I'm using Zend Core for Oracle. I have a file called PTutil.php connects to oracle DB, query the DB and display results.

Currently I'm unable to make work due to this error:

PHP Fatal error:  Call to undefined method DB_Error::query() in ../Phonetimes/PTutil.php on line 192

The line 192 is this:

$res =& $db->query($query);

PEAR is installed and working fine.

I did some google search on this error, and tried what were suggested but still have the same error.

Can you please help me solve this error?

Thanks
0
Comment
Question by:bprof2007
  • 5
  • 4
9 Comments
 
LVL 21

Expert Comment

by:nizsmo
ID: 20376382
try:

$res =& $db->sql_query($query);
0
 
LVL 1

Author Comment

by:bprof2007
ID: 20376418
Thank I've tried it and got this error:

PHP Fatal error:  Call to undefined method DB_Error::sql_query() in ../PTutil.php on line 193

0
 
LVL 21

Expert Comment

by:nizsmo
ID: 20378016
which wrapper class are you using for mysql functions?
0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
LVL 1

Author Comment

by:bprof2007
ID: 20383634
I'm using a file called DB.php here are some info from the file itself about what it does?

/**
 * Database independent query interface
 *
 * PHP versions 4 and 5
 *
 * LICENSE: This source file is subject to version 3.0 of the PHP license
 * that is available through the world-wide-web at the following URI:
 * http://www.php.net/license/3_0.txt.  If you did not receive a copy of
 * the PHP License and are unable to obtain it through the web, please
 * send a note to license@php.net so we can mail you a copy immediately.
 *
 * @category   Database
 * @package    DB
 * @author     Stig Bakken <ssb@php.net>
 * @author     Tomas V.V.Cox <cox@idecnet.com>
 * @author     Daniel Convissor <danielc@php.net>
 * @copyright  1997-2005 The PHP Group
 * @license    http://www.php.net/license/3_0.txt  PHP License 3.0
 * @version    CVS: $Id: DB.php,v 1.80 2005/02/16 02:16:00 danielc Exp $
 * @link       http://pear.php.net/package/DB
 */

I didn't work with OO in PHP before. :(
0
 
LVL 21

Expert Comment

by:nizsmo
ID: 20386427
The error is basically due to the function query() being undefined. Why dont' you use straight off the oci8 methods. And then you can use oci_fetch_array() to fetch out any results you want, much like mysql functions.

$conn = oci_connect('scott', 'tiger', 'orcl');
$query = 'SELECT myclob FROM mytable WHERE mykey = :mykey';
 
$stid = oci_parse ($conn, $query);
oci_bind_by_name($stid, ":mykey", $mykey, 5);
oci_execute($stid, OCI_DEFAULT);

Open in new window

0
 
LVL 1

Author Comment

by:bprof2007
ID: 20397786
Thanks much nizsmo for the code.

Can you please explain to me what is mykey in this line:

oci_bind_by_name($stid, ":mykey", $mykey, 5);

I'm not sure why its needed.

I'm also getting this error:

Fatal error: Call to a member function fetchInto() on a non-object in /usr/local/Zend/apache2/htdocs/test.php on line 93

93:while ($res->fetchInto($row)) {

I'm really n00b in pear and connecting to oracle.


0
 
LVL 21

Expert Comment

by:nizsmo
ID: 20398796
not too sure what fetchInto does? but have you set the $row variable?
You can fetch the results from the OCI connection using this function:
http://php.net/manual/en/function.oci-fetch-array.php

Also in case you are still wondering about the oci_bind_by_name() function:
http://php.net/function.oci_bind_by_name

Hope this helps!
0
 
LVL 21

Accepted Solution

by:
nizsmo earned 250 total points
ID: 20398801
Forgot to mention, in those sites above there are some nice examples, especially some full examples in oci_fetch_array() link, which will probably answer your questions :)
0
 
LVL 1

Author Comment

by:bprof2007
ID: 20458286
Thanks a lot
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
This article discusses how to create an extensible mechanism for linked drop downs.
The viewer will learn how to dynamically set the form action using jQuery.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question