127.0.0.1:36368 [500]: /create_account.php - Uncaught PDOException: SQLSTATE[21S01]: Insert value list does not match column list: 1136 Column count doesn't match value count at row 1 in /home/hue/social_network/classes/DB.php:10
Stack trace:
#0 /home/hue/social_network/classes/DB.php(10): PDOStatement->execute(Array)
#1 /home/hue/social_network/create_account.php(7): DB::query('INSERT INTO use...', Array)
#2 {main}
thrown in /home/hue/social_network/classes/DB.php on line 10
터미널에서 다음과 같은 오류를 얻고있다
와 PHP는 문제는 내 PHP 코드입니다 ID : ": id"및 "\ '\'"에 대한 INSERT 값은 변경되지만 아무 것도 변경되지 않습니다. 당신은 열 사양을 생략하고
INSERT INTO users (username, password, email) VALUES (:username, :password, :email)
을 기본 가능성이 id
을 포함, 그래서 : 당신은 당신이 사용중인 것을 지정해야 모든 열을 삽입하지 않는 한 내 ID 필드는
** 일반 텍스트 암호를 저장하지 마십시오! ** PHP의 [내장 함수] (http://jayblanchard.net/proper_password_hashing_with_PHP.html)를 사용하여 암호 보안을 처리하십시오. 5.5보다 작은 PHP 버전을 사용하고 있다면'password_hash()'[compatibility pack] (https://github.com/ircmaxell/password_compat)을 사용할 수 있습니다. *** [암호를 잊지 마세요] (http://stackoverflow.com/q/36628418/1011527) *** 또는 해싱을하기 전에 다른 클렌징 메커니즘을 사용하십시오. 이렇게하면 암호가 변경되어 불필요한 추가 코딩이 발생합니다. –
** 경고 ** : 사용자 고유의 액세스 제어 계층을 작성하는 것은 쉽지 않으며 심각하게 잘못 처리 할 수있는 많은 기회가 있습니다. [Laravel] (http://laravel.com/)과 같은 최신 [개발 프레임 워크] (http://codegeekz.com/best-php-frameworks-for-developers/)가있을 때 자신의 인증 시스템을 작성하지 마십시오. 강력한 [인증 시스템] (https://laravel.com/docs/5.3/authentication)이 내장되어 있습니다. 절대 최소한 [권장 보안 베스트 프랙티스] (http://www.phptherightway.com/#security)를 준수하고 ** 비밀번호를 일반 텍스트 **로 저장하지 마십시오. – tadman