我的网页上有一个超链接,就像这样:
当点击A0000000时,它会将您重定向到localhost/student.php?anum=a0000000
我已经用

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

这就是我得到的:
我以前做过多次,但有一件事改变了,现在我使用内部连接和WHERE子句来进行特定的搜索。这个搜索必须做的是:
列出辅导员姓名不为空的学生
完成位置=1
其中anum或学生id号=到url anum,使用$_GET['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=a000000,它就可以完美地工作。
但是当我尝试执行上面的代码时,我得到了一个空的echo'd表。
任何帮助都会很棒的!-泰
编辑1:谢谢你隐晦地删除了代码的消毒部分过滤器和什么不,所有的工作良好。那是从实际数字部分删除A。所以查询没有通过。

最佳答案

$anum = filter_var($anum, FILTER_SANITIZE_NUMBER_INT);

正在删除字母'A'
根据documentation
FILTER_SANITIZE_NUMBER_INT-删除除数字、加号和减号之外的所有字符。

09-27 23:41