ホームページ >PHPフレームワーク >ThinkPHP >thinkphp createメソッドが失敗した場合の対処方法

thinkphp createメソッドが失敗した場合の対処方法

藏色散人
藏色散人オリジナル
2022-12-06 10:21:221445ブラウズ

thinkphp create メソッドの失敗に対する解決策: 1. フロントエンド ページでユーザーが入力したデータをシミュレートするテスト メソッドを、「public function insert2(){..」のようなコードで作成します。 .}"; 2. データベース内のデータを指定します。 ステータス フィールドにデフォルト値の 1 を追加し、設定を保存します。

thinkphp createメソッドが失敗した場合の対処方法

このチュートリアルの動作環境: Windows 7 システム、THINKPHP バージョン 5.1、Dell G3 コンピューター。

thinkphp create メソッドが失敗した場合はどうすればよいですか?

THINKPHP5.1 モデルの create メソッドの書き込みに失敗するがエラー プロンプトが表示されない問題を解決する

# アイデア、テスト メソッドを書く前のページでのユーザー入力をシミュレートします データは、次のコードのような $data として保存されます

  public function insert2()
    {
        $data = [
            'name'=>'chen',
            'password'=>'abc1234',
            'email'=>'chen@qq.com',
            'mobile'=>'18285859696'
        ];
        return UserModel::create($data);
    }

ブラウザでこのメソッドにアクセスすると、次の結果が返されます。フィールドのステータスにデフォルトがないことがわかります。 value を渡していないため、create メソッドは書き込みに失敗しました。

thinkphp createメソッドが失敗した場合の対処方法

データベース内のフィールドのスクリーンショット。実際、データベース内のステータス フィールドにはデフォルト値がありません。デフォルト値オプションをチェックして、値 1 を指定します。保存して再試行してください

thinkphp createメソッドが失敗した場合の対処方法

成功した戻り値が表示されます

thinkphp createメソッドが失敗した場合の対処方法

経験: 次回エラーが表示されない状況に遭遇したときは、フロントエンド データをシミュレートする新しいメソッドを作成するだけです。もう 1 つの非常に重要な方法は、次のログも確認することです。実行時に、対応するエラーも表示されます。

[ info ] [ DB ] INIT mysql
[ sql ] [ DB ] CONNECT:[ UseTime:0.001346s ] mysql:host=localhost;dbname=zh;charset=utf8
[ sql ] [ SQL ] SHOW COLUMNS FROM `zh_user` [ RunTime:0.001726s ]
[ error ] [10501]SQLSTATE[HY000]: General error: 1364 Field 'status' doesn't have a default value[D:\Wamp64\www\zh\thinkphp\library\think\db\Connection.php:7

error はエラーです。また、フィールド 'status' にはデフォルト値がありません

問題が解決されました!

推奨学習: 「thinkPHP ビデオ チュートリアル

以上がthinkphp createメソッドが失敗した場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。