-2

我正在尝试创建一个简单的链接。问题是文件名将来自数据库。

例子:<a href="foldername/**FileNameInSQL.zip**">Download</a>

我对 MYSQL 的工作并不多,并且已经拼凑出一些到目前为止正在工作的东西

<?php
$products_id = $_GET['id'];

mysql_connect("localhost", "username", "password") or die(mysql_error()); 

mysql_select_db("database") or die(mysql_error()); 

$sql = "select * from znc_product_extra_fields where products_id = '" . $products_id . "'"; 

$query = mysql_query($sql);

while ($row = mysql_fetch_array($query)) { 
echo $row['file_1']; 
}

?> 

当我运行它时,它会执行我想要的操作,它会回显分配给该特定行的文件名(项目编号)

但是我迷失了如何将其转换为链接。我唯一能想到的就是以某种方式将此结果分配给一个变量并在创建链接时调用它,但我不知道如何获取这个正确的结果并实际使用它!我将如何获取此文件名并将其放在链接中

<a href="foldername/**FileNameInSQL.zip**">Download</a>

4

2 回答 2

1

PHP 输出你想要的任何东西 - 文本、HTML、XML 等。所以只需输出 HTML。我想你想要的是:

echo "<a href=\"foldername/".$row['file_1']."\">Download</a>";

尽管您不应该使用过时的 mysql_* 函数。请参阅PDO(最佳选择)或mysqli

要防止 SQL 注入,请使用PDO::quote(如果您使用 PDO)或mysqli_real_escape_string(如果您使用 mysqli)。

于 2012-08-09T23:08:56.993 回答
0

echo '<a href="/folder/' . $row['file_1'] . '">file</a>;

  • 您的代码容易受到 MySQL 注入的影响。real_escape_string 在您的GET, POST参数上使用。
  • 您应该使用 PDO(请参阅 tereško 评论了解原因)
于 2012-08-09T23:10:24.200 回答