根据数据库结果控制多个消息打印

时间:2017-02-24 10:06:35

标签: php

在完成了一些答案和文章后,我想出了当数据库中不存在密码(数字)并且代码工作时会自动生成密钥(数字)的功能,但问题是代码存在的时候通知&#34 ;代码存在"形成类似循环的东西并打印多个通知。根据我的代码我在哪里弄错了,我该如何解决?

    <?php
 //HERE IS THE FUNCTION  
      function MyFunction($xIsConnection){
    // CODE GENERATION
      //$Code=(rand(10,1000));
       $Code='001';
       $query= "SELECT * FROM parent WHERE code='$Code'";
        if($result= mysqli_query($xIsConnection,$query)){
      if(mysqli_num_rows($result)>0){
       echo " CODE EXIST<br>";

  // CALL FUNCTION TO GENERATE NEW CODE
         MyFunction($xIsConnection);
            }
       else{
       echo "NOT EXIST  <br>";
       echo $Code;
         }
        }
    else{
    echo"failed";
    }
    }
    require_once('dbConnect.php');
    MyFunction($con);
    mysqli_close($con);

    ?>

1 个答案:

答案 0 :(得分:1)

答案永远不会结束递归。

<?php
     //HERE IS THE FUNCTION  
          function MyFunction($xIsConnection){
        // CODE GENERATION
          //$Code=(rand(10,1000));
           $Code='001';
           $query= "SELECT * FROM parent WHERE code='$Code'";
            if($result= mysqli_query($xIsConnection,$query)){
          if(mysqli_num_rows($result)>0){
           echo " CODE EXIST<br>";

      // CALL FUNCTION TO GENERATE NEW CODE
             MyFunction($xIsConnection);         // this line is responsible for your error. Recursion
                }
           else{
           echo "NOT EXIST  <br>";
           echo $Code;
             }
            }
        else{
        echo"failed";
        }
        }
        require_once('dbConnect.php');
        MyFunction($con);
        mysqli_close($con);

        ?>