PerlからDB接続し、データ登録時のエラー処理について
DBにデータを登録するときにエラー処理を加えたいと思っていますが、
色んなサイトを参考にさせて頂いて、下記のようにしてみたのですが
うまくできません。
$sth = $db->prepare("
INSERT INTO DBNAME (hinmei,su,tani,tuikabi)
VALUES($hinmei,$su,$tani,$hiduke)
");
if(!$sth->execute){
print "接続エラー";
exit;
}
または、
$sth = $db->prepare("
INSERT INTO DBNAME (hinmei,su,tani,tuikabi)
VALUES($hinmei,$su,$tani,$hiduke)
");
$sth->execute or &error('DBに登録出来ません');
両方とも登録出来なければエラーメッセージを出すように
してみたのですが、キー項目が同じものを登録しようとすると
$sth->execute
この部分でとまってしまうらしく、次の処理に行きません。
もちろん、キー項目が同じでなければDBに登録出来ます。
どうすればエラー処理の設定ができるでしょうか。
教えてください。
お願いします。
No.1ベストアンサー
- 回答日時:
evalで囲んだらいかがでしょうか?
例えば、
eval{
$sth = $db->prepare("SQL文");
$rv = $sth->execute() || die;
};
if( $@ ){
#エラー処理
}
#行頭に全角スペース入っています
diszoさん
回答ありがとうございました。
お礼が遅くなって申しわけありません。
データベースとの接続の部分で、
$db = DBI->connect('DBI:mysql:database=***;host=***','***','***',{ RaiseError => 0, AutoCommit => 0 });
RaiseError => 1
にしていたのですが
RaiseError => 0
にすることで勝手に接続終了しないようになりました。
ここの設定の問題だったみたいです。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- PHP PHP一覧表示した項目にリンクをはりたい 1 2023/07/12 17:08
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- SQL Server DBのテーブルの設計ができず困っています。 2 2023/06/29 16:43
- PHP php エラー 2 2022/10/23 16:43
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- PostgreSQL PostgreSQLドライバの登録。 MavenプロジェクトからPostgreSQLへ接続をするため 1 2022/09/26 12:30
- PHP DBのハッシュ化したパスワードをpassword_verifyで戻し照合したのですが上手く行きません 2 2023/02/06 13:24
- IT・エンジニアリング ドメイン駆動設計の値オブジェクトについて質問 1 2023/05/13 02:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JSPでのリアルタイムな時刻表示
-
RedirectとTransferの違い
-
処理終了後、他のプログラムへP...
-
ASPとCGIの違い
-
フォーム上で押されたボタンに...
-
jspからServletを呼び、元のjsp...
-
腕時計の時報をならないように...
-
setAttribute getAttribute 配...
-
webアプリを作ってます。エラー...
-
リクエストに応じたselectedの...
-
ServletからServletへの値渡し
-
JSPからJSPへ情報を渡せる?
-
フォームで同じ複数のnameで違...
-
[JSP]1Servletから複数フレーム...
-
Java-jspの画面入力値保持について
-
ボタンが活性化の場合とは、ボ...
-
sessionスコープとapplication...
-
JSPのエラー画面(error.jsp)に...
-
漏電遮断器の黄色ボタンと白色...
-
C# ログイン画面からメイン画面...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
NetworkStreamからのRead()で、...
-
ASPでDLLの呼び出し
-
ASPとCGIの違い
-
CPUを2つ搭載するといいのです...
-
<%@ language="VBScript" %>
-
IIS+VBScriptでの処理待ちについて
-
Perlで処理の進行状況をユ...
-
一定時間でPostBackさせたい(A...
-
Webサービスについて(基になる...
-
Socket通信で、通信終了のイベ...
-
画面サイズ取得について
-
RedirectとTransferの違い
-
ハウスキープ処理について
-
処理終了後、他のプログラムへP...
-
VC++のHTTP通信
-
ASP.NET MVCのAjaxフォーム検証
-
別のサーバにリクエストを飛ば...
-
PerlからDB接続し、データ登録...
-
3層クライアントサーバとMVCの関係
-
ASP.NET値の受け渡し
おすすめ情報