简单的PHP如果/ Else块没有触发

时间:2017-01-08 07:49:21

标签: php if-statement

我在第二个代码块中重复了一个简单的if / else语句,该代码块应该触发并包含一个额外的html代码块,但出于某种原因,我还没有看到它没有。我一直在努力寻找问题,但是对于我的生活,我一直在努力。摘录如下,提前谢谢:)

<?php
require_once("includes/conn.php");

  $validateSQL="SELECT `email`,`token` FROM `users` WHERE `token`='".$_GET['token']."' AND `state`='1'";
  $userData =$link->query($validateSQL) or trigger_error($link->error." [$validateSQL]");
  $user=$userData->fetch_assoc();

  $row_cnt = $userData->num_rows;
  if ($row_cnt < 0){
    $user=$userData->fetch_assoc();
  };
?>
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <meta name="format-detection" content="telephone=no" />
        <meta name="msapplication-tap-highlight" content="no" />
        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
        <script src="js/jquery.js"></script>
        <script src="js/bootstrap.min.js"></script>
        <link rel="stylesheet" type="text/css" href="css/bootstrap.css" />
        <link rel="stylesheet" type="text/css" href="css/login.css" />
        <link href="css/Raku.css" rel="stylesheet">
    <link href="css/font-awesome.min.css" rel="stylesheet">
    <title>Raku Māturanga : The Knowledge Tree</title>

    </head>
    <body style="">
        <div class="background-plate">
            <div id="heading-main">
                <h1 class="">Raku Māturanga : The Knowledge Tree<br>
                <small style="color:#ddddbb">Nau mai, welcome to where knowledge grows.</small></h1>
                <p style="color: white; text-align: center">Making colobrative planning and evaluation eaiser than ever before.</p>
            </div>

<?php
if ($row_cnt < 0){
    include("includes/snippets/validate_setPassword.php");
  }else{

  }
  ?>

        </div>
        <div class="container-low">

3 个答案:

答案 0 :(得分:2)

首先,您的代码中存在语法错误,您必须在if语句中的brakcets之后删除;

$row_cnt = $userData->num_rows;
  if ($row_cnt < 0){
    $user=$userData->fetch_assoc();
  };

应该是:

$row_cnt = $userData->num_rows;
  if ($row_cnt < 0){
    $user=$userData->fetch_assoc();
  }

那么你的if语句不起作用的第二个原因是你的条件。 检查零以下的值,通过if语句运行是不正确的。

你应该把:

第一部分:

$row_cnt = $userData->num_rows;
  if ($row_cnt <= 0 || $row_cnt == null){
    $user=$userData->fetch_assoc();
  }

第二部分:

if ($row_cnt <= 0 || $row_cnt == null){
    include("includes/snippets/validate_setPassword.php");
  }else{

  }

让我知道它是否正常工作

答案 1 :(得分:0)

我认为你$ userData-&gt; num_rows返回零或null这就是为什么你的if条件没有执行会改变你的if条件

    if ($row_cnt <= 0 || $row_cnt != null){
    include("includes/snippets/validate_setPassword.php");
  }else{

  }

我希望它能帮到你

答案 2 :(得分:0)

你$ userData-&gt; num_rows从数据库返回零或空或行数,所以只需更改你的if else条件

($row_cnt < 0) to ($row_cnt >= 0)

我认为没问题。