由於某些原因,SQL不會從需要的表中提取所需的信息。這很奇怪,因爲我使用完全相同的代碼來從SQL中拉取與用戶標識關聯的文件夾列表,並且它的工作方式與它應該一樣。所以URL查詢看起來像這樣?o =文件夾& fid = 0ec741fa-e708-4314-83c4-c05966a56110,fid是文件夾ID,下面的查詢應該拉出與這樣的文件夾ID相關聯的任何文件,但是沒有任何東西存在返回,甚至沒有錯誤消息/代碼。sql query not pulling records
語法有問題嗎?或者問題的原因是什麼?
改正我用錯誤的代碼,因爲我有TABS用記事本打開++一束
這是寫在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>
**想想這個**有人做了這樣的事情'site.com/?f=drop table fs_files' –
什麼都不會發生 –
@iight首先沒有辦法猜測文件夾散列,其次你需要登錄不用說,我會確認請求的文件夾實際上屬於user_id,並且在登錄時也會爲用戶分配一個全局令牌,所以無法將其重新分配給每個登錄名 –