我想如果执行sql查询,然后给count表示结果1,那么它将重定向到profile.php,否则将重定向到候选人.php
<?php include "includes/header.php";?>
<?php
$email=$_SESSION['email'];
$link = mysqli_connect("localhost", "root", "", "hr");
if($link === false){
die("ERROR: Could not connect. " . mysqli_connect_error());
}
$sql = "SELECT * FROM candidate_registration WHERE resume IS NULL && email='$email'";
if(mysqli_query($link, $sql)==true){
header('Location:candidateprofile.php');
}
else if(mysqli_query($link, $sql)==false){
header('Location:user\profile.php');
}
答案 0 :(得分:2)
您的查询应该像这样
SELECT count(*) AS counter FROM candidate_registration WHERE resume IS NULL && email='$email'
此后,您必须检查计数记录的值是什么。
根据您的请求,如果它发现至少1条记录,则会将其指向profile.php
,否则将指向candidateprofile.php
$result = mysqli_query($link, $sql);
$row = $result->fetch_row();
if($row[0]>0){
header('Location:user\profile.php');
}
else{
header('Location:candidateprofile.php');
}
基本上,您想 COUNT 条记录。执行此操作的语句始终为true,因为空的mysql返回仍然有效。因此,检查结果是否为true
实际上总是会返回true。
提示:您的代码已接受SQL注入。了解有关使用准备好的语句的信息,这样您就不会遇到“意外”问题。