php - Codeigniter,无法建立 session ?

标签 php mysql codeigniter session

我遇到了与 my previous question 相同的问题,现在我认为我的 session 有问题,因为除了在这个问题中进行 session 之外,对我的数据库的查询运行良好。 那么错误说:

Error Number: 1064

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'SET `last_activity` = 1455780614, `user_data` = 'a:4:{s:9:\"user_data\";s:0:\"\"' at line 1

UPDATE SET `last_activity` = 1455780614, `user_data` = 'a:4:{s:9:\"user_data\";s:0:\"\";s:9:\"logged_in\";s:12:\"Sudah Loggin\";s:3:\"nip\";s:8:\"21212121\";s:5:\"akses\";s:4:\"user\";}' WHERE `session_id` = '2e72650df8541dcc3334394cfb7eef37'

Filename: libraries/Session.php

Line Number: 306

这种情况发生在我自动加载 session 并插入加密 key 之后。这是我的 Controller :

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Auth extends CI_Controller {

    public function __construct(){
        parent::__construct();
        $this->load->model('user_m');
    }
    public function index() {
        $this->load->view('login');
    }

    public function cek_login() {
        $data = array('nip' => $this->input->post('nip', TRUE),
                        'password' => $this->input->post('password', TRUE)
            );

        $hasil = $this->user_m->cek_user($data);
        if ($hasil->num_rows()==1) {
            foreach ($hasil->result() as $sess) {
                $sess_data['logged_in'] = 'Sudah Loggin';
                $sess_data['nip'] = $sess->nip;
                $sess_data['akses'] = $sess->akses;
                $this->session->set_userdata($sess_data);
            }
            
            if ($this->session->userdata('akses')=='admin') {
                redirect('admin');
            }
            elseif ($this->session->userdata('akses')=='member') {
                redirect('user');
            }       
        }
        else {
            echo "<script>alert('Gagal login: Cek nip, password!');history.go(-1);</script>";
        }
    }

}

?>

这是我的模型:

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

    class User_m extends CI_Model {
        public function cek_user($data) {
            $query = $this->db->get_where('pegawai', $data);
            return $query;      
        }

    }

?>

我这样做是为了进行多用户登录,但无法建立 session 。 我在此项目中使用 XAMPP 7.0.2Codeigniter 3.0.4

最佳答案

                $sess_data['logged_in'] = 'Sudah Loggin';
                $sess_data['nip'] = $sess->nip;
                $sess_data['akses'] = $sess->akses;
                $this->session->set_userdata($sess_data);


change this to given way

     $sess_data = array(
                   'logged_in'  => 'Sudah Loggin',
                   'nip'     => $sess->nip,
                   'akses' =>  $sess->akses
               );

    $this->session->set_userdata($sess_data);

关于php - Codeigniter,无法建立 session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35475724/

相关文章:

javascript - '意外的标记 ;'当尝试在 jQuery AJAX 请求中传递 PHP 变量时

mysql - 所有类型的 SQL 连接的解释

php codeigniter - 表单助手 - 如何在 radio 输入上实现 set_value

javascript - 预检响应在 ionic + CI 后端中具有无效的 HTTP 状态代码 405

php - 如何将 PHP 和 JavaScript 字符串与引号连接起来以正确求值

php - 如何为 WooCommerce 中的未登录用户禁用特定插件?

所有 InnoDB 表环境上的 Mysql 备份

MySQL INSERT 与 SELECT 语句不执行任何操作

php - ErrorException 试图获取非对象的属性 'kode_buyer'

php - 我的加入声明有什么问题?它在 PHP 中返回 BOOLEAN