PostgreSQL 2テーブル ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
165:nobodyさん 03/05/14 05:36 aknt5UHd 原因がまったく解明しないため、質問させていただきます。 今までどおり、 if($r->resultStatus ne PGRES_TUPLES_OK){ return 0; } このようにselectが正常にとおってるかサブルーチン内で チェックさせていたのですが、ある時からなぜか PGRES_TUPLES_OKがそのまま「PGRES_TUPLES_OK」 となってしまい、この照合も「2 ne PGRES_TUPLES_OK」 となり、照合エラーとなってしまいます。 考えられる原因があれば、どうかご教授ください。 よろしくお願いいたします。 166:nobodyさん 03/05/14 07:26 >>165 この情報からだとスペルミスか、何らかの理由で定数のimportが できなかったのかというくらいしか思いつかんが。 原因はわからんが、そういうミスを事前にチェックできるよう、use strict; を 使うのが常識。あと、PGRES_TUPLES_OKは整数なので、比較は ne じゃ なくて != でよい。 167:165 03/05/14 21:34 aknt5UHd 原因が判明しました。しかし、その意味がどうしてもわかりません。 if($r->resultStatus ne PGRES_TUPLES_OK){ return 0; } という処理は「db.pl」というファイルの中のサブルーチン「db_command」 内で行っていたのですが、このファイルのパッケージ名を「db(package db;)」 としました。 違うファイル「select.cgi」より「db.pl」をrequireし、サブルーチン 「db_command」を「db::db_command($sql)」と呼び出していたの ですが、この呼び出し方に問題がありました。 パッケージ管理せず、「db_command($sql)」と呼び出すと、結果が 返ってきます。strictでも何にもエラーがはかれません。 原因はわかりましたが、その意味が不明です。 勉強不足で申し訳ないです。
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5391日前に更新/193 KB
担当:undef