Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中条件失败时返回值_Php - Fatal编程技术网

PHP中条件失败时返回值

PHP中条件失败时返回值,php,Php,如果查询失败,我需要返回false。。。我应该把它放在哪里 function asas($username,$password){ $qry = "SELECT * FROM members WHERE login='$username' AND passwd='".md5($password)."'"; $result = mysql_query($qry); while($row = mysql_fetch_ar

如果查询失败,我需要返回false。。。我应该把它放在哪里

function asas($username,$password){
    $qry = "SELECT * 
            FROM members 
            WHERE login='$username' AND passwd='".md5($password)."'";

    $result = mysql_query($qry);

    while($row = mysql_fetch_array($result)) 
    {
            return(array($row['userlevel'], $row['email']));
    }

    //return 'Invalid username / password ';
}
这是我通常认为它是这样写的。您甚至可以简单地
返回false直接在while循环之后。试试看,看看什么有效

这是我通常认为它是这样写的。您甚至可以简单地
返回false直接在while循环之后。试试看,看看什么有用。

失败时返回false,就像。因此,您的代码应该如下所示:

function asas($username,$password) {
   $qry="SELECT * 
         FROM members 
         WHERE login='$username' AND passwd='".md5($password)."'";

   $result=mysql_query($qry);

   // if fail is intended the failure of the mysql connection
   if (!$result) return false;

   $row = mysql_fetch_array($result);

   if ($row) return array($row['userlevel'],$row['email']);

   // if fail is intended as username and password didn't match
   return false; 
}
您会注意到该函数有几个退出点。如果是家庭作业,你应该把它们集中在一个作业上。

function asas($username,$password){
    $qry="SELECT * FROM members 
          WHERE login='$username' AND passwd='".md5($password)."'";
    $result=mysql_query($qry);

    if (!$result) {
        /* Something went wrong with the query */
        return false;
    }
    while($row = mysql_fetch_array($result)) 
    {
        return(array($row['userlevel'],$row['email']));
    }

    /* if the query found any rows then the code above would or returned it */
    return false;
    //return 'Invalid username / password ';
}
失败时返回false,就像。因此,您的代码应该如下所示:

function asas($username,$password) {
   $qry="SELECT * 
         FROM members 
         WHERE login='$username' AND passwd='".md5($password)."'";

   $result=mysql_query($qry);

   // if fail is intended the failure of the mysql connection
   if (!$result) return false;

   $row = mysql_fetch_array($result);

   if ($row) return array($row['userlevel'],$row['email']);

   // if fail is intended as username and password didn't match
   return false; 
}

您会注意到该函数有几个退出点。如果是家庭作业,你应该把它们集中在一个答案中。

我编辑了你的答案,因为代码没有缩进,因此在显示时没有格式化。您可以使用编辑器中的“代码格式”按钮来执行此操作(上面有二进制数字的按钮)。欢迎使用堆栈溢出:)我编辑了您的答案,因为代码没有缩进,因此在显示时没有格式化。您可以使用编辑器中的“代码格式”按钮来执行此操作(上面有二进制数字的按钮)。欢迎使用堆栈溢出:)
function asas($username,$password){
    $qry="SELECT * FROM members 
          WHERE login='$username' AND passwd='".md5($password)."'";
    $result=mysql_query($qry);

    if (!$result) {
        /* Something went wrong with the query */
        return false;
    }
    while($row = mysql_fetch_array($result)) 
    {
        return(array($row['userlevel'],$row['email']));
    }

    /* if the query found any rows then the code above would or returned it */
    return false;
    //return 'Invalid username / password ';
}