Error : Database Exception – yii\db\Exception

Sys info

Yii Framework

2016-11-28, 11:17:59

Microsoft-IIS/8.5

Yii Framework/2.0.4-dev

why Error:





Exception

Database Exception – yii\db\Exception

SQLSTATE[HY000]: General error: 1364 Field 'security' doesn't have a default value

The SQL being executed was: INSERT INTO `user` (`username`, `email`, `password_hash`, `auth_key`, `first_name`, `middle_name`, `last_name`, `gender`, `date_of_birth`, `country`, `city`, `address`, `country_code`, `mobile_phone_number`, `AMC_refrence_number`, `zip_code`, `role`, `status`, `created_at`, `updated_at`) VALUES ('ahrimansefid+329@gmail.com', 'ahrimansefid+329@gmail.com', '$2y$13$5M5LIkil6UME1fqaRDhtA.uW4MlRDQxQ9Ok8K26gnR5J7ONnM0YZu', 'uhrVSDarBuurynAwpcXbziGdMZ_ga2Fk', 'Amir', '', 'Aram', 0, -1577635200, 1, '', '', 33456, '98112121665144227', NULL, '', 0, 5, 1480360678, 1480360678)


Error Info: Array

(

    [0] => HY000

    [1] => 1364

    [2] => Field 'security' doesn't have a default value

)


↵

Caused by: PDOException

SQLSTATE[HY000]: General error: 1364 Field 'security' doesn't have a default value


in D:\HostingSpaces\a-medex\a-medex.com\wwwroot\vendor\yiisoft\yii2\db\Command.php at line 770


    1. in D:\HostingSpaces\a-medex\a-medex.com\wwwroot\vendor\yiisoft\yii2\db\Schema.php at line 593

    584585586587588589590591592593594595596597598599600601602


     

            $exceptionClass = '\yii\db\Exception';

            foreach ($this->exceptionMap as $error => $class) {

                if (strpos($e->getMessage(), $error) !== false) {

                    $exceptionClass = $class;

                }

            }

            $message = $e->getMessage()  . "\nThe SQL being executed was: $rawSql";

            $errorInfo = $e instanceof \PDOException ? $e->errorInfo : null;

            return new $exceptionClass($message, $errorInfo, (int) $e->getCode(), $e);

        }

     

        /**

         * Returns a value indicating whether a SQL statement is for read purpose.

         * @param string $sql the SQL statement

         * @return boolean whether a SQL statement is for read purpose.

         */

        public function isReadQuery($sql)

        {


    2. in D:\HostingSpaces\a-medex\a-medex.com\wwwroot\vendor\yiisoft\yii2\db\Command.php – yii\db\Schema::convertException(PDOException, 'INSERT INTO `user` (`username`, ...') at line 778

    3. in D:\HostingSpaces\a-medex\a-medex.com\wwwroot\vendor\yiisoft\yii2\db\Schema.php – yii\db\Command::execute() at line 413

    4. in D:\HostingSpaces\a-medex\a-medex.com\wwwroot\vendor\yiisoft\yii2\db\ActiveRecord.php – yii\db\Schema::insert('{{%user}}', ['username' => 'ahrimansefid+329@gmail.com', 'email' => 'ahrimansefid+329@gmail.com', 'password_hash' => '$2y$13$5M5LIkil6UME1fqaRDhtA.uW4...', 'auth_key' => 'uhrVSDarBuurynAwpcXbziGdMZ_ga2Fk', ...]) at line 457

    5. in D:\HostingSpaces\a-medex\a-medex.com\wwwroot\vendor\yiisoft\yii2\db\ActiveRecord.php – yii\db\ActiveRecord::insertInternal(null) at line 422

    6. in D:\HostingSpaces\a-medex\a-medex.com\wwwroot\vendor\yiisoft\yii2\db\BaseActiveRecord.php – yii\db\ActiveRecord::insert(true, null) at line 589

    7. in D:\HostingSpaces\a-medex\a-medex.com\wwwroot\backend\models\SignupForm.php – yii\db\BaseActiveRecord::save() at line 183

    177178179180181182183184185186187188189


                $user->AMC_refrence_number = $this->AMC_refrence_number;

                $user->zip_code = $this->zip_code;

                $user->role = $this->role;

     

     

     

                if ($user->save()) {

                    return $user;

                }

            }

     

            return null;

        }


    8. in D:\HostingSpaces\a-medex\a-medex.com\wwwroot\backend\controllers\UserController.php – backend\models\SignupForm::signup() at line 93

    87888990919293949596979899


         * @return mixed

         */

        public function actionCreate()

        {

           $model = new \backend\models\SignupForm();

           if($model->load(Yii::$app->request->post())){

               if($user = $model->signup()){

                   return $this->redirect(\yii\helpers\Url::to(['user/index']));

               }else{

                   return $this->render('create', ['model' => $model]);

               }

           }

     


    9. backend\controllers\UserController::actionCreate()

    10. in D:\HostingSpaces\a-medex\a-medex.com\wwwroot\vendor\yiisoft\yii2\base\InlineAction.php – call_user_func_array([backend\controllers\UserController, 'actionCreate'], []) at line 55

    11. in D:\HostingSpaces\a-medex\a-medex.com\wwwroot\vendor\yiisoft\yii2\base\Controller.php – yii\base\InlineAction::runWithParams([]) at line 151

    12. in D:\HostingSpaces\a-medex\a-medex.com\wwwroot\vendor\yiisoft\yii2\base\Module.php – yii\base\Controller::runAction('create', []) at line 455

    13. in D:\HostingSpaces\a-medex\a-medex.com\wwwroot\vendor\yiisoft\yii2\web\Application.php – yii\base\Module::runAction('user/create', []) at line 84

    14. in D:\HostingSpaces\a-medex\a-medex.com\wwwroot\vendor\yiisoft\yii2\base\Application.php – yii\web\Application::handleRequest(yii\web\Request) at line 375

    15. in D:\HostingSpaces\a-medex\a-medex.com\wwwroot\backend\index.php – yii\base\Application::run() at line 18

    12131415161718


        require(__DIR__ . '/../common/config/main-local.php'),

        require(__DIR__ . '/config/main.php'),

        require(__DIR__ . '/config/main-local.php')

    );

     

    $application = new yii\web\Application($config);

    $application->run();


$_POST = [

    '_backendCsrf' => 'VzFPMlhIcHYfYgpHDwYXOg57DEswEQIfIwQ.W2suRT4NaAlDMzxFDA==',

    'SignupForm' => [

        'first_name' => 'Amir',

        'middle_name' => '',

        'last_name' => 'Aram',

        'password' => 'amir313',

        'role' => '0',

        'email' => 'ahrimansefid+329@gmail.com',

        'gender' => '0',

        'day' => '4',

        'month' => '1',

        'year' => '1920',

        'country' => '1',

        'country_code' => '33456',

        'mobile_phone_number' => '98112121665144227',

    ],

];


$_COOKIE = [

    'PHPSESSID' => '429mpoh2uau8jj7g7uqrcdm4m7',

    '_csrf' => 'c744ae701a1d1d49f4b3f13162035a63b1f06ba31eb19d030e8e39304c1fe65aa:2:{i:0;s:5:"_csrf";i:1;s:32:"zVAnAgj4OdAp4NU492112mmyvC2voq87";}',

    '_backendCsrf' => '7495c59c035714f39b4500892a24deeb159909cdf321bd7f676201c803549c2fa:2:{i:0;s:12:"_backendCsrf";i:1;s:32:"HSEuWNgLYJCyhYrit5qi3f5HZYFqkt5z";}',

    'BACKENDSESSID' => 'bpep4mrrjnl6r9rcctggodk061',

];


$_SESSION = [

    '__flash' => [],

    '__id' => 46,

];


Yii Framework


2016-11-28, 11:17:59


Microsoft-IIS/8.5


Yii Framework/2.0.4-dev




Security field not present in INSERT statement. Configure a default value in db or add security field to form (or just add property to the model, I think).

I’m learning Yii2 so I can’t go into more detail.