由于某种原因,SQL 不会从所需的表中提取所需的信息。这很奇怪,因为我使用完全相同的代码从 SQL 中提取与用户 id 关联的文件夹列表,并且它的工作方式应该如此。因此,URL 查询看起来像这样 ?o=folder&fid=0ec741fa-e708-4314-83c4-c05966a56110,fid 是文件夹 ID,下面的查询应该提取与此类文件夹 ID 关联的所有文件,但没有返回任何内容,甚至没有错误消息/代码。
语法有问题吗?或者问题的原因是什么?
更正我使用了错误的代码,因为我在 NOTEPAD++ 中打开了一堆标签
这是用 SQL PDO 编写的实际代码
require ("sql/pdo.php");
// Lets get user's folder information
$query = " SELECT * FROM files WHERE fid = ".$_REQUEST['fid']." ";
try
{
// These two statements run the query against your database table.
$stmt = $db->prepare($query);
$stmt->execute();
}
catch(PDOException $ex)
{
// Note: On a production website, you should not output $ex->getMessage().
// It may provide an attacker with helpful information about your code.
die("Failed to run query: " . $ex->getMessage());
}
// Finally, we can retrieve all of the found rows into an array using fetchAll
$rows = $stmt->fetchAll();
?>
<table width="100%">
<?php foreach($rows as $row): ?>
<tr onclick="window.location = 'file.php?fid=<?php echo htmlentities($row['id'], ENT_QUOTES, 'UTF-8')."'">
<td style="width:4%;"><img src="ast/images/fs-directory.png" /></td>
<td style="width:86%;text-align:left;"><?php echo htmlentities($row['name'], ENT_QUOTES, 'UTF-8'); ?></td>
<td style="width:10%;text-align:center;"><?php echo htmlentities($row['privacy'], ENT_QUOTES, 'UTF-8'); ?></td>
</tr>
<?php endforeach; ?>
</table>