PHP mysqli函数返回值失败

时间:2015-03-28 02:42:51

标签: php mysqli

在这段代码中,它之前被设计为使用session_id。我正在尝试从使用session_id转换为使用从数据库中检索的用户ID。我不确定我做错了什么,但函数没有返回变量。任何建议将不胜感激。

 protected function get_user_id() {
        //previous code used the session id
        //@session_start();
        //return session_id();

        // New code to use User ID instead of session_id
        // Connecting to the database
        include ("../../../admin/includes/connect.php");

        // Let's get the user ID from the database for use with the widget
        $user_id_query = "SELECT nonadmin_user_id FROM `nonadmin_user_login` WHERE email = '$_SESSION[email]'";
        $run_query = mysqli_query($conn, $user_id_query);
        while($row=mysqli_fetch_array($run_query)){

        // Create variable for the user's id
        $nonadmin_user_id = $row['nonadmin_user_id']; }
        return $nonadmin_user_id;
    }
    // This function needs to use the variable $nonadmin_user_id
    protected function get_user_path() {
        if ($this->options['user_dirs']) {
            return $this->get_user_id().'/';
        }
        return '';
    }

1 个答案:

答案 0 :(得分:1)

  

“弗雷德,你是男人!这是会议。我在会议开始前删除了评论,现在它完美无缺。令我感到困惑的是,我的印象是,如果您在文件中启动会话,然后包含其他文件,包含的文件不需要启动会话。“

需要启动会话,以便在查询中成功识别并传递会话数组。

另外,session_start();需要驻留在使用会话的所有文件中。


error reporting添加到文件的顶部,这有助于查找错误。

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

旁注:错误报告应仅在暂存时完成,而不是生产。