Php 检查行是否有任何值(如果有重定向)

Php 检查行是否有任何值(如果有重定向),php,mysql,redirect,Php,Mysql,Redirect,我试图在选择“类”播放的页面上设置if语句。我想检查的是,行pathoption是否设置了任何值,是否重定向到主页,如果没有设置任何值,请不要重定向。目前,im正在注册表的用户和“统计”表中设置用户名。我的问题是,它重定向到我在if语句中设置的任何内容 这是我的密码: //CREATE CONNECTION $conn = new mysqli($dbserver, $dbusername, $dbpassword, $db); $username = $_SESSION['logg

我试图在选择“类”播放的页面上设置if语句。我想检查的是,行pathoption是否设置了任何值,是否重定向到主页,如果没有设置任何值,请不要重定向。目前,im正在注册表的用户和“统计”表中设置用户名。我的问题是,它重定向到我在if语句中设置的任何内容

这是我的密码:

//CREATE CONNECTION
    $conn = new mysqli($dbserver, $dbusername, $dbpassword, $db);
  $username = $_SESSION['loggedin'];
// CHECK CONNECTION
if ($conn->connect_error)
{
    die("Connection Failed: ".$conn->connect_error);
}

$query = "SELECT pathoption from stats where username='$username'";
$result = mysqli_query($conn, $query);

if(mysqli_num_rows($result) > 0)
{
    header('location:../../index.php?page=home');
}
仅返回结果集中的行数,我假设您要检查
pathoption
是否为空,下面是一个示例:

if(mysqli_num_rows($result) > 0) {

    $row = mysqli_fetch_assoc($result);

    if ( !empty($row['pathoption']) ) {
        header('location:../../index.php?page=home');
    }

}

注意:您的代码易受SQL注入攻击,您必须使用。

您不检查pathoption字段是否有值,只检查用户是否在stats表中有任何与相关联的记录。@Shadow OK。。如何检查登录用户的字段pathoption是否具有正确的值?警告:使用
mysqli
时,应使用and将用户数据添加到查询中。不要使用字符串插值或串联来完成此操作,因为您已经创建了严重的错误。切勿将
$\u POST
$\u GET
或任何用户数据直接放入查询中,如果有人试图利用您的错误,这可能会非常有害。注意:
mysqli
的面向对象界面明显不那么冗长,使代码更易于阅读和审核,并且不容易与过时的
mysql\u查询
接口混淆。在你对程序性风格投入太多之前,值得换一种。示例:
$db=new mysqli(…)
$db->prepare(“…”)
过程接口是PHP 4时代的产物,当时引入了
mysqli
API,不应在新代码中使用。如果我错了,请纠正我,将其重定向到主页,值为空?你能修改代码,这样如果行有一个值,它就会重定向到首页吗?更新后,我的想法正好相反