データベースを利用するCGIプログラミング

---- SQLの実行 ----


prepareで準備されたSQL文は、exceuteメソッドで実際に実行されます。 この実行によって、テーブルから検索された結果が$sthに格納されます。 $sthには、検索結果のデータが格納されている場所が記憶してあります。 そこで、この$sthを手がかりにして、検索したデータをプログラムで処理することが可能になります。

次の例は、前に準備された「テーブルmeiboからすべての内容を検索する」SQL文実行している例です。 ここでは、実行時に何らかの理由で準備されたSQL文が正常に実行できない場合は、エラーメッセージを出力しプログラムを終了させています。

【記述例】
   $sth->execute() or die "Cannot execute: " , $sth->errstr(); 
【形式】
$sth->execute(実行時に必要な値) or die エラーメッセージ;

実行時に必要な値
なし
引き渡す値がないので、()で実行する。
エラーメッセージ
"Cannot execute: " , $sth::errstr;
例えば、テーブル名を誤ってmeibとした場合は、次のように「そのようなテーブルは存在しない」というエラーが表示されます。
[egi@myouga]$ perl cgi40.pl
DBD::Pg::st execute failed: ERROR:  meib: Table does not exist.
Cannot execute: ERROR:  meib: Table does not exist.
[egi@myouga]$ 


江木鶴子 : egi@ube-c.ac.jp