ホームページ >PHPフレームワーク >ThinkPHP >thinkphp createメソッドが失敗した場合の対処方法
thinkphp create メソッドの失敗に対する解決策: 1. フロントエンド ページでユーザーが入力したデータをシミュレートするテスト メソッドを、「public function insert2(){..」のようなコードで作成します。 .}"; 2. データベース内のデータを指定します。 ステータス フィールドにデフォルト値の 1 を追加し、設定を保存します。
このチュートリアルの動作環境: 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 メソッドは書き込みに失敗しました。
データベース内のフィールドのスクリーンショット。実際、データベース内のステータス フィールドにはデフォルト値がありません。デフォルト値オプションをチェックして、値 1 を指定します。保存して再試行してください
成功した戻り値が表示されます
経験: 次回エラーが表示されない状況に遭遇したときは、フロントエンド データをシミュレートする新しいメソッドを作成するだけです。もう 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 サイトの他の関連記事を参照してください。