我正在爲我的網站構建一個API,允許用戶刪除它們上傳的文件。顯然,我想在用戶通過API刪除之前檢查用戶是否擁有該文件。檢查用戶在刪除文件之前是否擁有文件
我有一個文件表和用戶表,這裏的模式:
f_id, s_id, u_id, name, size, uploaded
u_id, username, password, email, activated, activation_code
u_id
是一個外鍵。 files表中的u_id
字段指向users表中的u_id
。
給出用戶名稱,我想找到用戶u_id
,然後通過文件ID(f_id
)檢查他們是否擁有該文件。
我寫這個SQL:
$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';
我假設,如果我被賦予了API請求的用戶u_id
那會工作,但很可惜,我只給他們的用戶名。
如何修改該SQL以查找其用戶標識並使用該標識?
謝謝。
編輯:好的我有這個查詢,但它總是返回一個空的結果集,即使文件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
是的,它:) :) –