使用从MySQL调用的内容

时间:2012-08-09 23:02:40

标签: php mysql database

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

示例:<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>

2 个答案:

答案 0 :(得分: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)。

答案 1 :(得分:0)

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

  • 您的代码容易受到MySQL注入攻击。使用real_escape_stringGET, POST参数上。
  • 您应该使用PDO(请参阅tereško评论)