2013-08-27 29 views
0

我試圖檢索我已成功保存在mysql數據庫中的pdf和doc文件,並讓用戶可以訪問它。但這就是我得到的userimages/1364700305.30527.pdf。檢索文件的代碼如下:如何使用php從mysql數據庫檢索pdf和doc文件

<?php 
if (isset($_GET['svreg'])) { 
    $svreg = $_GET['svreg']; 
    $query = " 
     SELECT image_file, note_title, note_commt 
     FROM notez 
     WHERE svreg = '$svreg' 
    "; 
    $result = mysql_query($query) or die('Error, query failed'); 
    list($image_file, $note_title, $note_commt) = mysql_fetch_array($result); 
} 
?> 
<a href="veh_over_view.php?svreg=<?=$svreg;?>"><?=$image_file;?></a> <br> 

是的我有完整的數據庫路徑。

+3

可愛[SQL注入攻擊(http://bobby-tables.com)在你的代碼孔。享受你的服務器pwn3d。 –

+0

你能解釋一下嗎?「但這就是我得到的userimages/1364700305.30527.pdf。」這是否意味着你在圖像文件名中得到了一個不完整的路徑?你有沒有完整的路徑db – skv

+1

請在編寫任何**更多SQL接口代碼之前,你必須閱讀[正確的SQL轉義](http://bobby-tables.com/php)以避免嚴​​重[SQL注入漏洞](http://bobby-tables.com/)通過向查詢添加未轉義的$ _GET或$ _POST數據而導致。另外,'mysql_query'不應該在新的應用程序中使用。這是從PHP的未來版本中刪除的不推薦使用的界面。像[PDO這樣的現代替代品並不難學](http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/)並且將讓你的數據庫代碼更容易得到正確的。 – tadman

回答

0

你沒有很好地解釋你想要什麼,所以這就是我知道你是想

<?php 
    if (isset($_GET['svreg'])) { 

     $svreg = $_GET['svreg']; 

     $query = " 
      SELECT image_file, note_title, note_commt 
      FROM notez 
      WHERE svreg = '".$svreg."' 
     "; 

     $result = mysql_query($query) or die('Error, query failed'); 

     while(list($image_file, $note_title, $note_commt) = mysql_fetch_array($result)){ ?> 

      <a href="veh_over_view.php?svreg=<?=$svreg;?>"><?=$image_file;?></a> <br> 

    <?php } 

    }?> 
+0

謝謝你的幫助。我有一個存儲在MySQL數據庫中的pdf和docx文件的鏈接。我試圖做的是從數據庫中檢索文件,以便用戶可以查看或下載它們。我想我無法獲得正確包含文件的文件夾的路徑。 – decongh

+0

劑量任何人都有一塊可以做同樣的代碼? – decongh

相關問題