2013-03-16 58 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