我的网页上有一个超链接,就像这样:
当点击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-删除除数字、加号和减号之外的所有字符。