1

次のようなハイパーリンクのあるページがあります。

プレビュー

A0000000 をクリックすると、localhost/student.php?anum=A00000000 にリダイレクトされます

を使用して実際の番号が渡されているかどうかを確認しました

$get = $_GET['anum'];
echo $get;

これは私が得るものです:プレビュー

これは以前に何度も行ったことがありますが、変更された点の 1 つは、内部結合と WHERE 句を使用して特定の検索を行うようになったことです。この検索で​​行う必要があるのは、次のとおりです。

  1. カウンセラー名が NOT NULL の生徒をリストする
  2. 終了した場所= 1
  3. そして、anum または学生 ID 番号は = $_GET['anum'] を使用して URL anum に

これはselectステートメントです:

$anum = filter_input(INPUT_GET, 'anum', FILTER_SANITIZE_STRING);
$anum = filter_var($anum, FILTER_SANITIZE_NUMBER_INT);

    try 
    {
    $query = $dbh->prepare("SELECT * FROM inoffice INNER JOIN comments ON 
                            inoffice.id = comments.id WHERE counselorname 
                            IS NOT NULL AND finished = '1' AND anum = :anum ");
    $query->bindParam(':anum', $anum);
    $query->execute();
    $result = $query->fetchall();
    }
        catch (PDOException $e) {
        error_log($e->getMessage());
        die($e->getMessage());
        }

anum = A0000000 を入力するだけで同じクエリを試してみましたが、問題なく動作します。

しかし、上記のコードを実行しようとすると、空のエコー テーブルが表示されます。

どんな助けでも素晴らしいでしょう!- タイ

EDIT 1 :コードのサニタイズ部分、フィルター、およびそうでないものを不可解に削除していただき、すべて正常に機能していただきありがとうございます。これは、実際の数字部分から A を削除していました。そのため、クエリは渡されませんでした。

4

2 に答える 2