session入库

session入库

代码

function open(){ //必须返回true
    global $link;
    $link = mysqli_connect('127.0.0.1','root','root','data','3308');
    if ($link){
        return true;
    }else
        return false;
}
function close(){
    global $link;
    mysqli_close($link);
    return true;
}
function read($sess_id){
    global $link;
    $sql = "select sess_value from sess where sess_id='{$sess_id}'";
    $rs = mysqli_query($link,$sql);
    return (string)mysqli_fetch_row($rs)[0];
}
function write($sess_id,$sess_value){
    global $link;
    $sql = "insert into sess values('{$sess_id}','{$sess_value}',UNIX_TIMESTAMP()) on duplicate key
    update sess_value='{$sess_value}',sess_time=UNIX_TIMESTAMP()";
    //这里是因为sess_id在数据库里面是主键,不这样会报错
    return mysqli_query($link,$sql);
}
function destory($sess_id){
    global $link;
    $sql = "delete from sess where sess_id='$sess_id'";
    return mysqli_query($link,$sql);
}
function gc($lifetime){
    global $link;
    $expires = time()-$lifetime;
    $sql = "delete from sess where sess_time<'$expires'";
    return mysqli_query($link,$sql);
}
session_set_save_handler('open','close','read','write','destory','gc');
session_start();//开启会话
$_SESSION['namr']='tom';
$_SESSION['AGE']=20;
$_SESSION['GGGG']=255555;
print_r($_SESSION);
session_destroy();//销毁session

出错的几个原因

1. sql语句查询错误
2. 返回值错误,除了read返回字符串以后,其它必须返回布尔值,有的必须返回true
3. 插入的值必须加上单引号,否则无法插入数据库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值