在完成了一些答案和文章后,我想出了当数据库中不存在密码(数字)并且代码工作时会自动生成密钥(数字)的功能,但问题是代码存在的时候通知&#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);
?>
答案 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);
?>