1

SQL Server データベースで 3 つの異なるクエリを実行して挿入する PHP ページがあります。

これでエラー処理を実行する最良の方法は何ですか?

基本的に、私はそれらを連続して実行したいだけなので、最初のものが失敗した場合は続行せず、基本的にクライアントにエラーを戻します。

現在、それらを次のような変数に保存しています

$sql_1 = "insert into ..."

$sql_2 = "insert into ..."

次に、変数の呼び出しを行っていたifステートメントを使用していましたが、非常に面倒です。

4

4 に答える 4

1

すべてのクエリをストアド プロシージャで実行し、それを PHP ページから呼び出すことをお勧めします。ストアド プロシージャは、何かが失敗した場合にエラーを返すことができます。ストアド プロシージャの非常に基本的な例

CREATE PROCEDURE MyProcedure

BEGIN TRY
BEGIN TRANSACTION
 Insert ....

 delete....
COMMIT TRANSACTION
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION
SELECT 'Transaction failed'
END CATCH
于 2013-10-11T12:01:08.683 に答える
0

これを使用するexit ([ string $status ] );と、スクリプトがすぐに停止し、エラーを表示したり、ヘッダーの場所をエラー ページに変更したりできます。 http://php.net/manual/en/function.exit.php

それ以外の場合は、一連の if ステートメントを使用しますか?

于 2013-10-11T12:04:09.227 に答える
0

Php には、効果的なエラー処理のための Try および Catch 構文があります。以下のリンクが参考になるかもしれません。

PHP の SQL 挿入の試行とキャッチ

http://php.net/manual/en/language.exceptions.php

于 2013-10-11T12:08:03.590 に答える