Php 检查行是否有任何值(如果有重定向)
我试图在选择“类”播放的页面上设置if语句。我想检查的是,行pathoption是否设置了任何值,是否重定向到主页,如果没有设置任何值,请不要重定向。目前,im正在注册表的用户和“统计”表中设置用户名。我的问题是,它重定向到我在if语句中设置的任何内容 这是我的密码:Php 检查行是否有任何值(如果有重定向),php,mysql,redirect,Php,Mysql,Redirect,我试图在选择“类”播放的页面上设置if语句。我想检查的是,行pathoption是否设置了任何值,是否重定向到主页,如果没有设置任何值,请不要重定向。目前,im正在注册表的用户和“统计”表中设置用户名。我的问题是,它重定向到我在if语句中设置的任何内容 这是我的密码: //CREATE CONNECTION $conn = new mysqli($dbserver, $dbusername, $dbpassword, $db); $username = $_SESSION['logg
//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,不应在新代码中使用。如果我错了,请纠正我,将其重定向到主页,值为空?你能修改代码,这样如果行有一个值,它就会重定向到首页吗?更新后,我的想法正好相反