我是 PHP 和 MySQL 新手,遇到了一些问题。 本质上,音乐家的个人资料页面应该使用以乐队名称作为搜索参数的查询来填充(姓名、图片、流派、简介等)。
向用户显示乐队名称列表(可点击的链接),根据他们点击的乐队名称,传递一个值并显示他们的信息。然而,个人资料页面却是空的! 这是音乐家的名字,作为表格中的链接...
<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代码。 整个个人资料页面都有 echo ,与 $name、$genre、$bio 和 $bandpicture 的样式相呼应,但这并不重要。除了我编码的导航栏和页脚之外,页面的“主体”显示为空,我不知道为什么。任何帮助,将不胜感激!谢谢!
最佳答案
您正在尝试在没有提交调用的情况下发布数据。这不会向您的个人资料页面发送任何内容。试试这个:
<td><input type="submit" name="band" value="<?php echo $BANDNAME; ?>" /></td>
在调用 mysql_fetch_assoc($result) 后尝试使用 print_r($row)。这将打印出 SQL 查询的所有结果。
编辑:我忘记了 mysql_fetch_array 已被弃用。我编辑了我的答案以反射(reflect)这一点。
关于PHP SQL 结果不会填充个人资料页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15454093/