我正在为我的网站构建一个 API,允许用户删除他们上传的文件。显然,我想在用户通过 API 删除它之前检查用户是否拥有该文件。
我有一个文件表和一个用户表,这是架构:
f_id, s_id, u_id, name, size, uploaded
u_id, username, password, email, activated, activation_code
u_id
是外键。files 表中的u_id
字段指向u_id
users 表中的 。
给定用户用户名,我想找到 users 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';
我假设如果我u_id
在 API 请求中获得了用户,那会起作用,但可惜我只获得了他们的用户名。
如何修改该 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