2012-08-09 25 views
-2

我想創建一個簡單的鏈接。問題是文件名將來自數據庫。使用從MySQL調用的內容

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

請不要使用'mysql_ *'函數編寫新代碼。他們不再維護,社區已經開始[棄用程序](http://goo.gl/KJveJ)。查看[*紅色框*](http://goo.gl/GPmFd)?相反,您應該瞭解[準備好的語句](http://goo.gl/vn8zQ)並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli的)。如果你不能決定哪些,[這篇文章](http://goo.gl/3gqF9)會幫助你。如果你選擇PDO,[這裏是很好的教程](http://goo.gl/vFWnC)。 – 2012-08-09 23:05:47

+0

@tereško這個評論有多少次需要複製和粘貼':P',這讓人很傷心。 – Bojangles 2012-08-09 23:10:15

+0

@JamWaffles,好吧,我原本是''P' – 2012-08-09 23:13:37

回答

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)。

0

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

  • 您的代碼很容易受到MySQL的注入。在您的GET, POST參數上使用real_escape_string
  • 你應該使用PDO(見原因tereško評論)