我正处于制作用户可以注册和登录的网站的最后阶段。之后,他们可以上传 .pdf 和 .docx 等文件并搜索这些文件。用户数据存储在我的用户表中,其中包含以下内容:idUsers int(11) PRIMARY KEY NOT NULL, uidUsers TINYTEXT NOT NULL, emailUsers TINYTEXT NOT NULL, pwdUsers LONGTEXT NOT NULL,然后我有一个名为“文件”的表,其中存储了我存储的用户上传的文件。该表包含以下内容:id int(11) PRIMARY KEY NOT NULL, usersId int(11) NOT NULL, - (Foreign key for idUsers in users table)name varchar(255) NOT NULL,title varchar(255) NOT NULL,forfatter varchar(255) NOT NULL, (forfatter = author) size int(11), download int(11) (for later use)因此,当特定用户登录并上传文档时,用户“id”(用户表中的主键)将传递给我的文件表中的“usersId”。到目前为止,所有这些都运行良好。然后用户可以使用搜索功能,用户可以在其中搜索文档的名称、标题和作者,这也很好用。我只需要确保用户只能看到自己上传的文件。但我想不通。到目前为止,我已经尝试了许多不同的解决方案。我试过一个我看到的建议,我试图让我的 mysqli_query 看起来像这样:"SELECT * FROM files WHERE id AND usersId name LIKE '%$searchingq%' OR title LIKE '%$searchingq%' OR forfatter LIKE '%$searchingq%' AND usersId='.$usersId.'"那效果不佳。感觉会话没有找到当前 $_SESSION 的 ID。我的搜索 .php 看起来像这样: $usersId = $_SESSION['userId']; $output = ''; if (isset($_GET['search']) && $_GET['search'] !== ' ') { $searchingq = $_GET['search']; $q = mysqli_query($conn, "SELECT * FROM files WHERE `usersId` = {$usersId} AND (`name` LIKE '%{$searchingq}%' OR `title` LIKE '%{$searchingq}%' OR `forfatter` LIKE '%{$searchingq}% )"); $c = mysqli_num_rows($q); if($c == 0) { $output = '<p>No search results for: "' .$searchingq. '"</p>'; } else { while($row = mysqli_fetch_array($q)) { $name = $row['name']; $title = $row['title']; $forfatter = $row['forfatter']; $download = $row['downloads']; $output .=
2 回答
- 2 回答
- 0 关注
- 236 浏览
添加回答
举报
0/150
提交
取消