次のようなハイパーリンクのあるページがあります。
A0000000 をクリックすると、localhost/student.php?anum=A00000000 にリダイレクトされます
を使用して実際の番号が渡されているかどうかを確認しました
$get = $_GET['anum'];
echo $get;
これは私が得るものです:
これは以前に何度も行ったことがありますが、変更された点の 1 つは、内部結合と WHERE 句を使用して特定の検索を行うようになったことです。この検索で行う必要があるのは、次のとおりです。
- カウンセラー名が NOT NULL の生徒をリストする
- 終了した場所= 1
- そして、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 を削除していました。そのため、クエリは渡されませんでした。