[PHP-users 14665]PEARでクエリが実行されるときとされない時がある
sorako yamamoto
sorako_yamamoto @ hotmail.com
2003年 4月 15日 (火) 10:02:26 JST
こんにちは。いつもお世話になっております。
現在、PEARを使ってDBに接続、SQLを実行し、結果を画面に表示させているのです
が、
上手くいく場合といかない場合があり、困っています。
function exec( $sQuery )
{
$DNS = "pgsql://unix()/Test" ;
$objCon = DB::connect( $DNS, true); // DBへ接続
if ( DB::isError($objCon ) ) {
die( "接続エラー" );
}
$objCon->setErrorHandling( PEAR_ERROR_CALLBACK, "myDBErrorHandler" );
$objRs = $objCon->query( $sQuery );
while( $row = $objRs->fetchRow( DB_FETCHMODE_ASSOC ) ) {
$aResult[] = $row ;
}
return $aResult ;
}
function myDBErrorHandler()
{
print( "DBエラー" );
}
とう関数を作成し、
$aResult = exec( "select * from test_table ") ;
$cnt = count($aResult) ;
for( $i=0 ; $i < $cnt ; $i++ ) {
print $aResult[$i]["col1"] ;
print $aResult[$i]["col2"] ;
}
という風に、DBの結果配列を獲得し、画面(test.php)に表示させているのですが、
その際、画面に"DBエラー" が表示されることがあります。
タイミングによって、画面(test.php)にDBの結果配列が表示されることもあるのです
が、
"DBエラー"が表示されることもあります。
クエリ実行自体が失敗しているのですが、
SQL文は固定だし、エラーになったりならなかったりで、???という感じです。
また、無事に画面(test.php)が表示されたときに、
submitボタンで、他の画面(test2.php)にとび、
そこで
$aResult = exec( "select * from test_table ") ;
を実行すると、かならず"DBエラー"となります。
どなたか、同じ現象になった方、原因が分かる方いらっしゃいましたら
ご教授ください。よろしくお願いします。
postgreSQL 7.3.2
PHP 4.3.1
Apache 1.3.27
_________________________________________________________________
最新のファイナンス情報とライフプランのアドバイス MSN マネー
http://money.msn.co.jp/
PHP-users メーリングリストの案内