사용자가 업로드 한 파일을 삭제할 수 있도록 허용하는 사이트의 API를 구축하고 있습니다. 분명히, API를 통해 삭제하기 전에 사용자가 파일을 소유하고 있는지 확인하고 싶습니다.삭제하기 전에 사용자가 파일을 소유하고 있는지 확인하십시오.
f_id, s_id, u_id, name, size, uploaded
u_id, username, password, email, activated, activation_code
u_id
은 외래 키 :
u_id
필드는 사용자 테이블의
u_id
을 가리 킵니다.
사용자 이름이 주어지면 사용자 u_id
을 찾고 파일 ID (f_id
)를 통해 파일을 소유하고 있는지 확인하고 싶습니다. 내가 API 요청의 사용자 u_id
주어진 경우 문제가 해결 거라고 가정,하지만 난 그들의 이름을 부여하고있어 아아있어
$sql = 'SELECT u.username
FROM `users` u
JOIN `files` f
ON u.u_id = f.u_id
WHERE f_id = ? AND u.u_id = ?
LIMIT 1';
:
나는이 SQL을 썼다.SQL을 수정하여 사용자 ID를 찾고 사용하려면 어떻게해야합니까?
감사합니다.
편집 : 알았어요.이 쿼리가 있지만 파일 ID와 사용자 이름이 모두 존재하더라도 항상 빈 결과 집합을 반환합니다.
SELECT u.username
FROM `users` u
JOIN `files` f
ON u.u_id = f.u_id
WHERE f.f_id = ? AND u.username = ?
LIMIT 1
무엇을 볼 수 없습니다 그것은 작동하지 않을 것이다. f.u_id가 올바르게 설정 되었습니까? 나는 그것이 당신이 지나가고있는 사용자 이름을 가지고있는 행에 속해 있다는 것을 의미합니까? – Ignas
그래, 그럴거야 :) –