• 締切済み

PEAR DBクラスのgetOneメソッドが使えない

PEAR をインストールして掲示板作成最中です。 getOneメソッドを使いたいと思うのですが。未定義と出てしまいます。 自分の作ったファイルをBBS.phpとすると、 このファイルにて、DB.php(PEAR)を読み込んでおります。またgetOneメソッドはcommon.php(PEAR)に記述されているのですが、どのようにしてこのcommon.php を呼んでいるのでしょうかこのcommon.phpを読み込んでいないため下記エラーが発生するのはわかるのですが。 Fatal error: Call to undefined function: getone() in d:\public_html\kisop\chap5\bbs.php on line 10

みんなの回答

回答No.1

DB_common::getOne($query); って呼んでます?

ibdij
質問者

お礼

すいません私の大勘違いでした。 まったく問題の定義が間違えていたため、解答できない質問でした。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • PEARのgetOne()がエラーになる

    winXP、php5、apache2、MySQLを使用しています。 impressの改定新版PHPという本でPHPを勉強中です。 掲示板を作成するところでどうしてもエラーが出てしまいます。 下記のように実行しています。(別ファイルにてクラス定義をしています。) $sql = "SELECT COUNT(*) FROM topix"; $count_result = $init_obj->db_object->getOne($sql); すると下記のようなエラーが出ます。 Fatal error: Call to undefined method DB_Error::getOne() in C:\Program Files\Apache Group\Apache2\htdocs\sample\chap5\bbs.php on line 10 よろしくお願いします。

    • 締切済み
    • PHP
  • pearがエラーになる

    xamppにpearをインストールし、テキストを見ながらプログラムを作成し、実行しましたが、とエラーになります。 エラーの画面は以下のとおりです。 接続に成功しました Fatal error: Call to a member function getOne() on a non-object in C:\Program Files\xampp\htdocs\pje_bulletin\bbs.php on line 15 これに対するプログラムは以下のようなものです。 【bbs.php】 <?php require_once("Init_class.php"); $init_obj = new Init_class(); $in_disp_from = $_GET["in_disp_from"]; if(!$in_disp_from = intval($in_disp_from)){ $in_disp_from = 0; } $in_disp_to = $in_disp_from + 10; $sql = "SELECT (*) FROM bbs_table"; $count_result = $init_obj->db_object->getOne($sql); ←ここがline 15 $sql="SELECT message_sequence,contributor,mai_address,home_page_uri,subject,message,pass,_word,write_date FROM bbs_table ORDER BY message_sequence DESC LIMIT ".$in_disp_from.", "."10"; $db_result = $init_obj->db_object->query($sql); disp_html_header($init_obj->bbs_name); ?> 以下続く 【Init_class.php】 <?php /* PEAR::DBを読み込む */ require_once("../../php/PEAR/DB.php"); require_once("html_disp.php"); /* メンバ変数 */ class Init_class{ var $db_object; var $decode_key = "abcdefg"; var $db_user = "root"; var $db_pass = ""; var $db_host ="localhost"; var $db_name ="keroro"; var $bbs_name = "まっちゃんの掲示板"; } /* コンストラクタ → DBへの接続 */ function Init_class(){ $db_string = "mysql://".$this->db_user.":".$this->db_pass."@".$this->db_host."/".$this->db_name; $this->db_object = DB::connect($db_string); } print("接続に成功しました"); 以下続く ●pearを使わないで、PHPから直接MySQLにつながります。 ●SQLも簡単なヤツですし、コマンドラインからも問題ありませんでした。 ●一旦は接続できているようなのですが、次のrowをカウントに行くところでつまづいています。 PEARがちゃんとインストールされていないのかと思いましたが、 コマンドで「pear list」とやると、 DB    1.7.13    stable なっており、このほかに70個ぐらいのモジュールというかパッケージがセットされているようです。 それと、php.iniのinclude pathもちゃんと設定されています。 どなたかご指導下さい。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PEARのエラーを救ってください。

    こんにちは,よろしくお願いします。 6行目 $rs = $db->query("SELECT * FROM member ORDER BY id ASC"); PEAR::DBで,上のようなクエリーを実行しようとすると次のようなエラーが出ます。 Fatal error: Call to undefined method DB_Error::query() in /home・・・・・/aaaa.php on line 6 PEAR::MDB2でも同じエラーが出ます。 また,PEARを使わないデータベースとの接続は,問題なくできます。 接続はうまくいっているようなのですが,原因と対処法を教えてください。よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHP5 DB_DataObjectクラスを教えて

    PHP5 PEAR入門初心者です。 ただいま DB_DataObjectクラスを勉強中ですがエラーがでて困っています。 PHP ver5.2.4 xampp ver1.6.4 PEAR 1.4.1 参考文献は独習PHPです。 sqlite2 データベースsqlite(chap6.SQLite)の内容ははsqliteManager表示して確認しています。 内容は以下のとおりです。 エラー内容DB_DataObject: ERROR: autoload:Could not find class DataObjects_Book using class_location value DB_DataObject: ERROR: factory could not find class from book Fatal error: Call to undefined method DB_DataObject_Error::selectAdd() in C:\xampp\htdocs\dokushuu\find.php on line 7 find.phpの内容↓ <?php require_once('DB/DataObject.php'); $config=parse_ini_file(dirname(__FILE__).'/myConfig.ini',TRUE); $options=&PEAR::getStaticProperty('DB_DataObject','options'); $options=$config['DB_DataObject']; $book=DB_DataObject::factory('book'); $book->selectAdd(); $book->selectAdd('title'); $book->published='翔泳社'; $book->orderBy('isbn ASC'); print($book->find().'件が検索されました。<br />'); while($book->fetch()) { print($book->title.'<br />'); } ?> myConfig.iniの設定内容↓ [DB_DataObject] database="sqlite2://localhost/C:/xampp/htdocs/dokushuu/sample/samples/chap6/chap6.sqlite" schema_location="C:/xampp/htdocs/dokushuu/sample/samples/chap6" class_location="C:/xampp/htdocs/dokushuu/sample/samples/chap6" require_prefix=C:/xampp/htdocs/dokushuu/sample/samples/chap6/ class_prefix=DataObjects_ debug=3 以上です宜しくお願い致します。

    • 締切済み
    • PHP
  • pearライブラリのインクルードについて

    PEARへのパスの通し方の方法を教えていただきたいと思います。 私はハッスルサーバーを使っており、以前に以下のサイトを参考にしてPEARをインストールしました。(PHPのバージョンは5.2です。) http://funweb.sblog.jp/blog/article/%E3%83%8F%E3%83%83%E3%82%B9%E3%83%AB%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%B8%E3%81%AEPEAR%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB その後、XML-RPCを使用したPHPプログラムを作成し、 以下の場所に配置しました。 <ドキュメントルート配下> ・pear(フォルダ)   ・bin(フォルダ)   ・PEAR(フォルダ)   ・pear.conf   ・phpプログラム ←配置したプログラム ・wp(フォルダ) phpプログラムにはrequire_once("XML/RPC.php"); と記述しているのですが実行すると以下のエラーが出ます Warning: require_once(XML/RPC.php) [function.require-once]: failed to open stream: No such file or directory in /home/xxx/public/www/pear/xxx.php on line 2 Fatal error: require_once() [function.require]: Failed opening required 'XML/RPC.php' (include_path='“.:/home/xxx/public/www/pear/PEAR”') in /home/xxx/public/www/pear/xxx.php on line 2 php.iniのインクルードパスには「 include_path = ".;/home/xxx/public/www/pear/PEAR";」と記述しています。 問題はパスの記述か、XMLフォルダの存在の有無かのどちらかだろうと判断し、 XMLフォルダの存在を確認するためにphpプログラムの方を以下のように フルパスで記述しました。 require_once("/home/xxx/public/www/pear/PEAR/XML/RPC.php"); すると今度は以下のエラーが出ました。 Warning: include_once(PEAR.php) [function.include-once]: failed to open stream: No such file or directory in /home/xxx/public/www/pear/PEAR/XML/RPC.php on line 594 Warning: include_once() [function.include]: Failed opening 'PEAR.php' for inclusion (include_path='.;/home/xxx/public/www/pear/PEAR') in /home/xxx/public/www/pear/PEAR/XML/RPC.php on line 594 Fatal error: Class 'PEAR' not found in /home/xxx/public/www/pear/PEAR/XML/RPC.php on line 596 これでXMLフォルダが存在することは分かったのであとはインクルードパスの問題と判断しました。 しかし、インクルードパスは何度確認しても「/home/xxx/public/www/pear/PEAR」と合っているように思います。 他に心当たりがある方がいらっしゃいましたら教えていただければと思います。 宜しくお願い致します。

    • 締切済み
    • PHP
  • DB_common::prepare が返すオブジェクトクラスは何??

    http://www.y2sunlight.com/water/webman/php3/3C.1.html#3C1 のページの 3C.1 PEAR::DBの構成 クラス DB_result の項目のところに、「DB_commonのメソッドはDB_resultのオブジェクトを返す」とありますが、 $sth = $db->prepare($sql); $result = $db->execute($sth); のようなスクリプトを考える場合、prepareメソッドはDB_resultのオブジェクトを返しているのでしょうか??executeはDB_commonのメソッドなので、何かおかしいような気がするのですが・・。 どなたか分かる方いらっしゃいましたらご教授宜しくお願いしますm(__)m

    • ベストアンサー
    • PHP
  • PEAR::DBでプロセスは取得できる?

    お世話になります。 PHP5でPEAR::DBを使ってpostgresに接続しています。 $conn = pg_connect(略); を使えば $pid = pg_get_pid($conn); でバックエンドのプロセスIDが取れます。 ですが、PEAR::DBにも同じ機能を持つメソッドなどがあるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • PEAR_DBをオフラインでインストールするには

    ネットに繋げないサーバにPEAR_DBをインストールする方法はありますか。 現在、PEARをインストール済みのサーバで「pear install DB」を打つと、 以下のメッセージが表示されます。 No releases available for package "pear.php.net/DB" Cannot initialize 'channel://pear.php.net/DB', invalid or missing package file Package "channel://pear.php.net/DB" is not valid install failed PHPは5.2.5です。

    • 締切済み
    • PHP
  • PEAR でprepareメソッドがエラーに

    初心者です。 今テストで下記構文を試しましたがエラーになります。 prepareがインストールされていないのでしょうか? どなたかご教授お願いします。 エラー内容↓ Fatal error: Call to undefined method DB_Error::prepare() テスト構文↓ <?php require_once("DB.php"); $db=DB::connect("sqlite://localhost/samples.db"); $stt=$db->prepare("CREATE TABLE article (url,title,published)"); $stt=$db->execute(); $db->disconnect($stt); ?>

    • 締切済み
    • PHP
  • PEARのDBが動かない・・orz

    PEARのDBを使ってMYSQLに接続しようとしているのですが、動作しません。 試しに↓のようなコードを書いたところ 画面「a」は出たのですが「b」が出ませんでした。 --コード----------------------------------------- require_once("DB.php"); $dsn = "mysql://user:password@localhost/db_name; echo("a"); $db = DB::connect($dsn , true); echo("b"); -------------------------------------------------- なにかエラーがでれば手がかりになるのですが、 エラーも何もでません。 MDB2で試しても結果は同じでした。 解決方法を教えて頂けないでしょうか? ちなみにPHPのversionは5.1.2 MYSQLは4.1.7になります。

    • 締切済み
    • PHP