2013-03-16 65 views
0

我是PHP和MySQL的新手,並且遇到了一些麻煩。 基本上,一個音樂家的個人資料頁面應該使用帶的名稱作爲搜索參數來填充(名稱,圖片,流派,生物等...)。PHP SQL結果不會填充配置文件頁面

用戶顯示了一個樂隊名稱列表(可點擊鏈接),並根據他們點擊的是哪一個,傳遞一個值並顯示其信息。但是,個人資料頁面已經空了! 這裏是音樂家的名字作爲一個表中的鏈接...

<form method="post" action="bandPageAll.php"> 
... 
<?php        
$i = 0; 
while ($i < $num) { 
    $GENRE = mysql_result($result,$i,"profile.PROFILE_GENRE"); 
    $BANDNAME = mysql_result($result,$i,"profile.PROFILE_BANDNAME"); 
?>        
<tbody> 
    <tr> 
    <td><?php echo $GENRE; ?></td> 
    <td><a href="bandPageAll.php" name="band"><?php echo $BANDNAME; ?></a></td> 
    </tr> 
</tbody> 
... 

這裏是個人資料頁的PHP代碼...

<?php 
session_start(); 
foreach($_POST AS $key => $val) { 
$_SESSION[$key]=$val; 
} 

mysql_connect("***", "***", "***"); 
mysql_select_db("***"); 

$bandname=$_POST['band']; 
$bandname = stripslashes($bandname); 
$bandname = mysql_real_escape_string($bandname); 

$sql="SELECT * FROM profile WHERE PROFILE_BANDNAME='$bandname'"; 
$result=mysql_query($sql); 

$row = mysql_fetch_array($result); 

$name = $row['PROFILE_BANDNAME']; 
$genre = $row['PROFILE_GENRE']; 
$bio = $row['PROFILE_BANDBIO']; 
$bandpicture = $row['PROFILE_PICTURE']; 
?> 

.... 然後HTML代碼。 在整個個人資料頁面中都有回聲,其中包含$ name,$ genre,$ bio和$ bandpicture的樣式,但這並不重要。除了我編寫的導航欄和頁腳外,頁面的「主體」顯示爲空,我不知道爲什麼。任何幫助,將不勝感激!謝謝!

+0

嘗試使用'echo $ sql查看;'向mysql發送了什麼查詢,然後,最終在phpmyadmin中測試該查詢 – CoursesWeb 2013-03-16 20:09:40

+0

mysql_connect已棄用請參閱:http://php.net/manual/en/function.mysql- connect.php – shnisaka 2013-03-16 20:10:21

+0

嘗試了這一點,結果顯示爲 SQL:SELECT * FROM profile WHERE PROFILE_BANDNAME ='' – user2177869 2013-03-16 20:14:13

回答

1

您正試圖在沒有提交調用的情況下發布數據。這不會將任何內容發送到您的個人資料頁面。試試這個:

<td><input type="submit" name="band" value="<?php echo $BANDNAME; ?>" /></td> 

嘗試在調用mysql_fetch_assoc($ result)後使用print_r($ row)。這將打印出SQL查詢的所有結果。

編輯:我忘了mysql_fetch_array被棄用。我編輯了我的答案以反映這一點。

+0

感謝您的快速響應。 首先,我想這... ​​」/> 但該表結果不點進能,所以我不得不改變它...... ​​ 然後用我的個人資料頁上的print_r($行),並改爲FETCH_ASSOC,但它仍然顯示了空的,並沒有被印刷成的print_r的結果($行)。 – user2177869 2013-03-16 20:22:47

+0

錨標記不會提交這樣的表單。您需要使用JavaScript代替。你的網頁空白的原因是因爲沒有提交。而不是使用POST,你應該使用GET。你可以做。你也可以擺脫表單標籤。然後在你的bandPageAll.php中將$ _POST更改爲$ _GET。正如其他人提到的,確保你調試/回顯你的SQL語句,以確保它們是正確的。 – Steven 2013-03-16 21:32:38