0

私は 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コード。また、プロファイル ページ全体にエコーがあり、$name、$genre、$bio、および $bandpicture がスタイリングでエコーされますが、それは重要ではありません。コード化したナビゲーション バーとフッターを除いて、ページの「本文」が空で表示されますが、その理由がわかりません。どんな助けでも大歓迎です!ありがとう!

4

1 に答える 1

1

送信呼び出しなしでデータを投稿しようとしています。それはあなたのプロフィールページに何も送信しません。代わりにこれを試してください:

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

mysql_fetch_assoc($result) を呼び出した後、print_r($row) を使用してみてください。これにより、SQL クエリからのすべての結果が出力されます。

編集: mysql_fetch_array が廃止されたことを忘れていました。それを反映するように回答を編集しました。

于 2013-03-16T20:09:49.257 に答える