Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.php > #8149

Re: PEAR DB: "PHP Fatal error: Call to undefined method DB::query()"

From Jerry Stuckle <jstucklex@attglobal.net>
Newsgroups comp.lang.php
Subject Re: PEAR DB: "PHP Fatal error: Call to undefined method DB::query()"
Date 2013-01-29 07:58 -0500
Organization A noiseless patient Spider
Message-ID <ke8h18$5oj$1@dont-email.me> (permalink)
References <0a977961-c477-420e-9404-a9e027174b84@googlegroups.com>

Show all headers | View raw


On 1/29/2013 4:03 AM, Robert S wrote:
> I have the following code:
>
> <?php
> require_once( 'DB.php' );
> $dsn = 'mysql://user:password@localhost/table';
> $dbh = new DB();
> $dbh->connect( $dsn );
> if ( $dbh->isError( $dbh )) die ( $dbh->getMessage );
>    $query = "SELECT * FROM Table ORDER BY Date LIMIT 1";
>      $sth = $dbh->query( $query );
> ?>
>
> I get:
>
> PHP Fatal error:  Call to undefined method DB::query()
>
> Can somebody tell me where I am going wrong?  This all worked using my old code, but I got a lot of warnings about non static methods being called statically:
>
> $dbh = DB::connect( $dsn );
> if ( DB::isError( $dbh )) die ( $dbh->getMessage );
> $sth = $dbh->query( $query );
>

OK, it used to work but doesn't now.  What changed?

You do have some problems in your code.  For instance, you are not 
saving the object returned by the connect() method.  You can find an 
example at 
http://pear.php.net/manual/en/package.database.db.intro-query.php for 
the proper way to do a query. Also, the fact you had warnings earlier 
should have been a red flag.  They are there for a reason.

However, beware that the PEAR DB package has been replaced by the PEAR 
MDB2 package.  The former is no longer being maintained and should not 
be used.

Rather, I recommend you use a the PHP PDO class.  It will require some 
rewriting of your code, but you're going to have to do that anyway.

BTW - it's almost never a good idea to modify the code in packages.  It 
always leads to more work in the long run as you have to maintain the 
modified code as well as your own.

-- 
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================

Back to comp.lang.php | Previous | Next — Previous in thread | Find similar | Unroll thread


Thread

PEAR DB: "PHP Fatal error:  Call to undefined method DB::query()" Robert S <robert.schmidli@gmail.com> - 2013-01-29 01:03 -0800
  Re: PEAR DB: "PHP Fatal error:  Call to undefined method DB::query()" Christoph Becker <cmbecker69@gmx.de> - 2013-01-29 10:19 +0100
    Re: PEAR DB: "PHP Fatal error:  Call to undefined method DB::query()" Robert S <robert.schmidli@gmail.com> - 2013-01-29 02:35 -0800
      Re: PEAR DB: "PHP Fatal error:  Call to undefined method DB::query()" Christoph Becker <cmbecker69@gmx.de> - 2013-01-29 12:20 +0100
  Re: PEAR DB: "PHP Fatal error:  Call to undefined method DB::query()" Jerry Stuckle <jstucklex@attglobal.net> - 2013-01-29 07:58 -0500

csiph-web