我正在爲一個學生組織設置一個網頁,其中包含圖片和內容。帶有數據庫內容的模板頁面的PHP鏈接
第一頁只是html和css。它有一張圖片,下面有一個名字和一個鏈接到完整的生物鏈接到「bio.php?id =」,然後在我的SQL數據庫中的那個人的ID。
現在我正在嘗試使php頁面允許使用用戶ID的簡單模板php頁面。不幸的是,當我做所有我認爲正確的事情時,我會遇到一個奇怪的錯誤。
這裏是我的代碼
<html>
<body>
<?php
//connection to database
//specify database
$id= $GET['id'];
$sql = " SELECT * FROM Members_table WHERE Id='$id' ";
$result = mysql_query($sql) or print ("Can't select entry from table bloghomepage.<br />" . $sql . "<br />" . mysql_error());
WHILE($row = mysql_fetch_array($result)) {
$name = $row['Name'];
$position = $row['Position'];
$major = $row['Major'];
$hometown = $row['Hometown'];
$awards = $row['Awards'];
$bio = $row['Description'];
$act = $row['Activities'];
$pic = $row['Picture'];
$misc = $row['other'];
?>
<h1><?php print $name; ?></h1>
<p><?php print '<img src="' . $pic . '"'; ?>
<?php } ?>
</body>
</html>
這是我看到在我的網頁: 「$ SQL」。
「mysql_error());而($行= mysql_fetch_array ($ result)){$ name = $ row ['Name']; $ page_id = $ id; $ position = $ row ['Position']; $ major = $ row ['Major']; $ hometown = $ row ['Hometown']; $ awards = $ row ['Awards']; $ bio = $ row ['Description']; $ act = $ row ['Activities']; $ pic = $ row ['Picture']; $ misc = $ row ['other'];?>
這就是所有。任何想法我做錯了什麼?
你應該閱讀有關[SQL注入](http://www.owasp.org/index.php/SQL_Injection)以及爲什麼[錯誤消息可以披露敏感信息](http://www.owasp.org/index.php/Information_Leakage)。 – Gumbo 2011-04-03 16:33:57
正如@Gumbo所述,您需要了解SQL注入問題。有關更多信息,請參閱現有的[停止SQL注入的最佳方法](http://stackoverflow.com/questions/60174/best-way-to-stop-sql-injection-in-php)問題/答案。 – 2011-04-03 16:38:21