php文件中会话的json异常

php文件中会话的json异常,php,android,json,session,null,Php,Android,Json,Session,Null,在互联网上寻找一个想法几个小时都没有成功后,我在这里写下了我的问题。 我正在使用会话获取另一个php文件中的变量。 当我在Android studio中创建json时,我得到一个错误。我尝试了一些测试,看看问题是否出在会话上,当我将会话代码放在注释中时,代码运行良好。 我想知道我的android文件是否需要允许会话或其他操作,因为我所有的php文件都可以正常工作 我的代码如下: 发布参数的php文件(Login.php) php文件,其中包含我需要的所有函数(该函数使用会话获取电子邮件)(D

在互联网上寻找一个想法几个小时都没有成功后,我在这里写下了我的问题。 我正在使用会话获取另一个php文件中的变量。 当我在Android studio中创建json时,我得到一个错误。我尝试了一些测试,看看问题是否出在会话上,当我将会话代码放在注释中时,代码运行良好。 我想知道我的android文件是否需要允许会话或其他操作,因为我所有的php文件都可以正常工作

我的代码如下:

  • 发布参数的php文件(Login.php)

  • php文件,其中包含我需要的所有函数(该函数使用会话获取电子邮件)(DB_functions.php)

错误:

System.err:org.json.JSONException:org.json.JSONObject$1类型的id_users_fk处的值null无法转换为int


我的代码正常工作,我在android文件中获取变量,而不是php文件。我现在不需要使用会话。
if (isset($_POST['email']) && isset($_POST['password'])) {
    $email = $_POST['email'];
    $_SESSION['email'] = $email;
    $password = $_POST['password'];}
<?php session_start();
public function getIdByEmail() {
        $stmt = $this->conn->prepare("SELECT id FROM users WHERE email = ?");
        $stmt->bind_param("s",$_SESSION['email']);
        $result = $stmt->execute();


        if ($result) {
            $user = $stmt->get_result()->fetch_assoc();
            $stmt->close();
            return $user;
        } else {
            return NULL;
        }
       session_destroy();
    }
?>
      String uid = jObj.getString("uid");

                    JSONObject candidate = jObj.getJSONObject("candidate");
                    int id_users_fk = candidate.getInt("id_users_fk");
                    String name = candidate.getString("name");
                    String firstname = candidate.getString("firstname");
                    String training = candidate.getString("training");
                    String areaActivity = candidate.getString("area_activity");
                    String type = candidate.getString("type");
                    String language1 = candidate.getString("language1");
                    String levelLanguage1 = candidate.getString("level_language1");
                    String language2 = candidate.getString("language2");
                    String levelLanguage2 = candidate.getString("level_language2");
                    String language3 = candidate.getString("language3");
                    String levelLanguage3 = candidate.getString("level_language3");
                    String skill = candidate.getString("skill");
                    String geolocation = candidate.getString("geolocation");
                    String created_at = candidate.getString("created_at");
                    db.addNewCandidate(id_users_fk, name, firstname, training, areaActivity, type,
                            language1, levelLanguage1, language2, levelLanguage2,
                            language3, levelLanguage3, skill, geolocation,
                            uid, created_at);