나는 새로운 암호 요청 기능을 건물입니다 후 전체 행을 얻을 목적으로 나는 3 개 필드 user_id
, code
및 requested
구성 users_forgotpasscodes
라는 별도의 테이블을 만들었습니다. 코드는 사용자의 이메일로 전송되며 1 일 유효합니다. 사용자 테이블에 여분의 열을 만드는 대신 별도의 테이블을 사용하기로 결정했기 때문에이 기능을 사용하는 사용자가 거의 없을 것이라고 생각하기 때문에 모든 사용자가 사용하지 않을 속성을 가질 수는 없습니다 .PDO는 삽입
어쨌든 제가 우연히 것은 이런 것입니다 자신의 이메일 주소를 사용자가 갈 때 페이지 "비밀번호를 잊어 버렸습니다"는이다 유입
self::$db->prepare("INSERT INTO users_forgotpasscodes (id, code, requested) VALUES ((SELECT id FROM users WHERE email = ?), '{$code}', NOW())")->execute([$data['email']])
문제는 내가 더 아래 코드에서 내가 필요로한다는 것입니다 받은 편지함에서 올바른 페이지로 정확하게 이동할 수 있도록 사용자의 ID를 입력하여 새 비밀번호를 만듭니다.
내 질문에 다른 선택 쿼리를 만들지 않고 삽입 한 전체 행을 검색 할 수 있습니까?
까다로운 부분은 코드 테이블에서 열 id
한 사용자가 이러한 성격의 여러 요청을 보낼 수 있기 때문에 그냥 평범한 인덱스 기본 키 때문에 내가 lastInsertId()
를 사용할 수 없다는 내가 계속 할 수 있도록하려면 그 (것)들의 대위.
? 'ID' 열만 반환 하시겠습니까? – Rahul
@Rahul 예 기본적으로 전체 행을 얻는 방법을 찾으면 ID를 얻을 수 있습니다.이 제목을 사용하면 'lastInsertId'와 혼동을 피할 수 있으며 누군가가이 항목을 검색하는 경우 찾기 쉽습니다. –