1

こんにちは私はこれが私のページで機能しない理由を理解しようとしています。以下のphpブロックを使用して、ページの先頭に作成した変数$ sel_subjを使用しています($ _GETを使用して、前のページでクリックしたもののIDを取得しました。新しいページに次のデータを反映させたいクリックしたリンク)データベースから正しい番号を表示するためのURLを取得しましたが、押されたリンクの名前を表示するページを取得できません。別名、「subjects」テーブルの「subject_name」というラベルの付いた列のデータ。

<?php
$query = "SELECT * FROM subjects WHERE id = \"$sel_subj\"";
$result_set = mysql_query($query, $connection);
if(!$result_set) {
    die("Database query failed: " . mysql_error());
$subject = mysql_fetch_array($result_set);
return $subject;
?>

このh2タグにここに。

<h2><?php echo $subject['subject_name']; ?>Hello</h2>

それが助けになるなら、私はページ全体を投稿することができます。皆様のご意見に感謝いたします。
ありがとうございました。

編集:新しい問題

これが私のコードの下半分です。このコードの上にナビゲーションdivがあり、データベーステーブルに関連するページへのリンクを、データベースから取得してページテーブルのdivに表示するコンテンツから分離しています。

ただし、Firefoxで開いたときに、提供したコードではページに何も表示されません。テストサーバーでプレビューしているときに「ソースを表示」すると、HTMLの下に何も表示されません...

<td id="page">

<?php
$query = "SELECT * FROM subjects WHERE id ='$sel_subj'";
$result_set = mysql_query($query, $connection);
if(!$result_set) 
    die("Database query failed: " . mysql_error());
$subject = mysql_fetch_assoc($result_set);
return $subject;

?>
            <h2><?php echo $subject['subject_name']; ?>Hello</h2>
            <br />
            <?php echo $sel_page; ?><br />
            <?php echo $sel_subj; ?><br />
            <?php echo $subject; ?><br />
            <?php echo $subject['id']; ?>
        </td>
4

3 に答える 3

3

これを変える:

$query = "SELECT * FROM subjects WHERE id = \"$sel_subj\"";

これに:

$query = "SELECT * FROM subjects WHERE id = '$sel_subj'";

この:

$subject = mysql_fetch_array($result_set);

これに:

$subject = mysql_fetch_assoc($result_set);

PS:mysql関数のクラスをもう使用しないようにしてください。あまり良くありません。代わりに、mysqliまたは PDO を使用してください。

編集

idが数値型の場合は、クエリからアポストロフィを削除します。このような:

$query = "SELECT * FROM subjects WHERE id = $sel_subj";

于 2012-05-01T06:16:19.713 に答える
1

これを試して

$query = "SELECT * FROM subjects WHERE id = '$sel_subj' ";
于 2012-05-01T06:12:36.620 に答える
1

これを試して

$query = "SELECT * FROM subjects WHERE id = {$sel_subj} ";
于 2012-05-01T06:19:23.757 に答える