php - 难以创建指向 MySQL 表中存储文件的链接

标签 php mysql sql pdo

尝试建立一个表,其中包含指向 MySQL 表中存储的文件的链接。这是我写的代码。这是我第一次尝试使用PDO,所以我不确定它是否正确。

if(isset($_GET['ProposalNo']) && isset($_GET['UID'])) 
  {
   $fileget = $con->prepare("SELECT name, type, size, content FROM upload WHERE
   ProposalNo = :proposalno AND UID = :uid");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
   $data = array('proposalno'=>$_GET['ProposalNo'],'uid'=>$_GET['UID']);
   $fileget->execute($data);
   list($name, $type, $size, $content) = $fileget->fetch(PDO::FETCH_ASSOC);

   header("Content-length: $size");
   header("Content-type: $type");
   header("Content-Disposition: attachment; filename=$name");
   echo $content;

   exit;
  }

这是设置表格的代码:

$files = $con->prepare("SELECT UID, ProposalNo, name FROM upload");
$files->execute();
while($row = $files->fetch(PDO::FETCH_ASSOC))
 {
   $uid = $row['UID'];
   $ProposalNo = $row['ProposalNo'];
   $Name = $row['name'];
 ?> 
 <tr>
 <td><?php echo "{$ProposalNo}</td>
 <td><a href=gcaforms.php?ProposalNo={$ProposalNo}&UID={$uid}>{$Name}</a></td>";?>

 </tr>
 <?php }?>

当我将鼠标悬停在创建的链接上时,ProposalNo 和 UID 会正确显示,但当我单击它们时,它们只希望我打开或保存引用页面 (gcaforms.php)。我错过了什么?

最佳答案

已解决。将 $fileget->fetch(PDO::FETCH_ASSOC) 更改为 $fileget->(PDO::FETCH_BOTH)。

关于php - 难以创建指向 MySQL 表中存储文件的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19598149/

相关文章:

php - Laravel Eloquent 足球比赛日程中的多重关系

php - 使用两个约束查询 PHPMYADMIN

php - 具有相同键但不同值的多个 URL 参数

mysql - SQL查询以获取具有最新日期时间的用户ID

mysql - SQL自动从另一个表插入ID

php - 数据未正确来自数据库

php max_execution_time 30 秒,但运行脚本 2 小时

SQL语句-更新两个表

php - 永远运行 PHP 脚本以在 HostGator 上推送通知

mysql - 使用 SQL/Mysql 部分枚举行