データベース (MySQL) の予期しないエラーがページに表示されますか?
フレームワーク内のデータベース (MySQL) からの予期しないエラーを防ぐにはどうすればよいですか?
たとえば、ここには 2 つの Excel テーブルのアップロード関数があります。もちろん、2 つの場所で作成した Excel 受信データ処理メソッドは異なりますが、データベース内の一部のフィールドの名前を空にすることはできません。 2 か所の Excel ファイルが交互にアップロードされると、以下に示すように、この時点で SQL エラーが表示されます:
フィールドで受け取ったすべてのデータが空であってはいけないという対応する判断をデータベース内で行わなければならないとしたら、非常に面倒ではないでしょうか?
私のExcelテーブルアップロード機能は、1つの方法、つまり1対1にのみ対応しています。私の Excel 構造は異なるため、1 つのメソッドは 1 種類の Excel 構造処理に対応します。
そこで、ページにSQLエラーが表示されないようにする解決策を見つけたいのですが、アドバイスをお願いします。
返信内容:
フレームワーク内のデータベース (MySQL) からの予期しないエラーを防ぐにはどうすればよいですか?
たとえば、ここには 2 つの Excel テーブルのアップロード関数があります。もちろん、2 つの場所で作成した Excel 受信データ処理メソッドは異なりますが、データベース内の一部のフィールドの名前を空にすることはできません。 2 か所の Excel ファイルが交互にアップロードされると、以下に示すように、この時点で SQL エラーが表示されます:
フィールドで受け取ったすべてのデータが空であってはいけないという対応する判断をデータベース内で行わなければならないとしたら、非常に面倒ではないでしょうか?
私のExcelテーブルアップロード機能は、1つの方法、つまり1対1にのみ対応しています。私の Excel 構造は異なるため、1 つのメソッドは 1 種類の Excel 構造処理に対応します。
そこで、ページにSQLエラーが表示されないようにする解決策を見つけたいのですが、アドバイスをお願いします。
データベースエラーをブロックできないわけではありませんが、ブロックする必要はなく、さらに多くの問題が発生します。あるフィールドがNullにならないのは当然なので、どうしても書き込む場合、後の処理でここまで来たらどうするか?このことから、挿入を実行する前にデータの有効性をチェックしなかったことがわかります。アップロードされたデータはユーザーが入力したデータと同等であり、ダーティなデータが入力されるのを防ぐ必要があります。
通常の処理ロジックは次のとおりです。
CSV を 1 行ずつ読み取り、検証ルールを使用してデータを検証します。OK の場合は、$success に保存します。そうでない場合は、$bad に保存します。ビジネス ロジックに応じて、$bad が有効な場合は、$bad に保存します。空ではない場合、最初にリストが表示されてユーザーに尋ねられます。不正なデータが破棄されていることを確認し、データを直接走査して $success に挿入し、どのデータが挿入され、どのデータが処理されなかったのかに関するレポートを生成します。 。
複数の形式の CSV があるため、現在アップロードされている CSV が処理方法と一致しているかどうかを確認する必要があります。そうでない場合、実際に保存した場合はどうなるでしょうか。怠け者になることは本当にお勧めしません。
例外をキャッチするには、try {}catch (Exception $e){} を使用するだけです
フレームワークがある場合は、論理的に言えば、デバッグ モードを自動的にブロックできるはずです。
コード内の空のフィールドを手動でデフォルト値に設定したい場合は、自分でフィルターを作成し、フィルター内で空かどうかを判断できます。空の場合は、デフォルト値を指定します。
1. データベース設計時に 0 などのデフォルト値を定義できます。 2. このデータをプログラムに挿入するときは、user_id フィールドに値が設定されていることを確認します。
運用環境でこのフィールドを null にすることが許可されている場合は、テーブルを変更してください
許可されていない場合、エラー メッセージはデータに問題があることを示しており、無視するのは危険です。ソースデータを無礼に無視するのではなく、ソースデータが null でないことを確認する必要があります

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。

MySQLは、オープンソースのリレーショナルデータベース管理システムです。 1)データベースとテーブルの作成:createdatabaseおよびcreateTableコマンドを使用します。 2)基本操作:挿入、更新、削除、選択。 3)高度な操作:参加、サブクエリ、トランザクション処理。 4)デバッグスキル:構文、データ型、およびアクセス許可を確認します。 5)最適化の提案:インデックスを使用し、選択*を避け、トランザクションを使用します。

次の手順でphpmyadminを開くことができます。1。ウェブサイトコントロールパネルにログインします。 2。phpmyadminアイコンを見つけてクリックします。 3。MySQL資格情報を入力します。 4.「ログイン」をクリックします。

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

MySQLとSQLは、開発者にとって不可欠なスキルです。 1.MYSQLはオープンソースのリレーショナルデータベース管理システムであり、SQLはデータベースの管理と操作に使用される標準言語です。 2.MYSQLは、効率的なデータストレージと検索機能を介して複数のストレージエンジンをサポートし、SQLは簡単なステートメントを通じて複雑なデータ操作を完了します。 3.使用の例には、条件によるフィルタリングやソートなどの基本的なクエリと高度なクエリが含まれます。 4.一般的なエラーには、SQLステートメントをチェックして説明コマンドを使用することで最適化できる構文エラーとパフォーマンスの問題が含まれます。 5.パフォーマンス最適化手法には、インデックスの使用、フルテーブルスキャンの回避、参加操作の最適化、コードの読み取り可能性の向上が含まれます。

MySQLはオープンソースのリレーショナルデータベース管理システムであり、主にデータを迅速かつ確実に保存および取得するために使用されます。その実用的な原則には、クライアントリクエスト、クエリ解像度、クエリの実行、返品結果が含まれます。使用法の例には、テーブルの作成、データの挿入とクエリ、および参加操作などの高度な機能が含まれます。一般的なエラーには、SQL構文、データ型、およびアクセス許可、および最適化の提案には、インデックスの使用、最適化されたクエリ、およびテーブルの分割が含まれます。

Redisは、単一のスレッドアーキテクチャを使用して、高性能、シンプルさ、一貫性を提供します。 I/Oマルチプレックス、イベントループ、ノンブロッキングI/O、共有メモリを使用して同時性を向上させますが、並行性の制限、単一の障害、および書き込み集約型のワークロードには適していません。

PHPは死にかけていませんが、常に適応して進化しています。 1)PHPは、1994年以来、新しいテクノロジーの傾向に適応するために複数のバージョンの反復を受けています。 2)現在、電子商取引、コンテンツ管理システム、その他の分野で広く使用されています。 3)PHP8は、パフォーマンスと近代化を改善するために、JITコンパイラおよびその他の機能を導入します。 4)Opcacheを使用してPSR-12標準に従って、パフォーマンスとコードの品質を最適化します。
