データベース (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衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック











MySQLとPHPMyAdminは、次の手順を通じて効果的に管理できます。1。データベースの作成と削除:PHPMyAdminをクリックして完了します。 2。テーブルの管理:テーブルを作成し、構造を変更し、インデックスを追加できます。 3。データ操作:データの挿入、更新、削除、SQLクエリの実行をサポートします。 4。データのインポートとエクスポート:SQL、CSV、XML、およびその他の形式をサポートします。 5。最適化と監視:最適化可能なコマンドを使用してテーブルを最適化し、クエリアナライザーと監視ツールを使用してパフォーマンスの問題を解決します。

session_start()iscrucialinphpformangingusersions.1)itInitiateSanewsessionifnoneExists、2)resumesanexistingsession、および3)SetSessionCookieforcontinuityAcrossRequests、ApplicationslicationSliviseSlikeUserauthicationAnticatent。

MySQLでは、AlterTabletable_nameaddcolumnnew_columnvarchar(255)afterexisting_columnを使用してフィールドを追加し、andtabletable_namedopcolumncolumn_to_dropを使用してフィールドを削除します。フィールドを追加するときは、クエリのパフォーマンスとデータ構造を最適化する場所を指定する必要があります。フィールドを削除する前に、操作が不可逆的であることを確認する必要があります。オンラインDDL、バックアップデータ、テスト環境、および低負荷期間を使用したテーブル構造の変更は、パフォーマンスの最適化とベストプラクティスです。

MySQL関数は、データ処理と計算に使用できます。 1.基本的な使用には、文字列処理、日付計算、数学操作が含まれます。 2。高度な使用法には、複数の関数を組み合わせて複雑な操作を実装することが含まれます。 3.パフォーマンスの最適化では、Where句での機能の使用を回避し、GroupByおよび一時テーブルを使用する必要があります。

安全かつ徹底的にMySQLをアンインストールし、すべての残留ファイルをクリーンにするには、次の手順に従ってください。1。MySQLサービスを停止します。 2。MySQLパッケージをアンインストールします。 3.構成ファイルとデータディレクトリのクリーン。 4.アンインストールが徹底していることを確認します。

MASQLのインストールは、次の手順で実現できます。1。コマンド/bin/bash-c"$(curl-fsslhttps://raw.githubusercontent.com/homebrew/install/head/install.sh)を使用して、Homebrewをインストールします。 2. Homebrewを更新し、Brewupdateを使用します。 3. mysqlをインストールし、Brewinstallmysqlを使用します。 4. mysqlサービスを開始し、Brewservicesstartmysqlを使用します。インストール後、MySQL-Uを使用できます

MySQLでデータを挿入するための効率的な方法には、次のものが含まれます。1。insertInto ...値構文、2。LoadDatainFileコマンドの使用、3。トランザクション処理の使用、4。バッチサイズの調整、5。Insurtignoreまたは挿入の使用...

Composerは、PHPの依存関係管理ツールであり、Composer.jsonファイルを介してプロジェクトの依存関係を管理しています。 1)依存関係情報を取得するためのComposer.jsonを解析する。 2)依存関係を解析して、依存性ツリーを形成します。 3)PackagistからVendorディレクトリへの依存関係をダウンロードしてインストールします。 4)Composer.Lockファイルを生成して、依存関係バージョンをロックして、チームの一貫性とプロジェクトの保守性を確保します。
