php5.5 session_set_save_handler 连接数据库问题

qq_16600561 2014-06-16 09:32:51
好久前忘了在什么地方抄来的,一直好用,但是升级到PHP5.5就不好用了 出现警告
服务器无法修改PHP.ini 只好自己试着用mysqli写 但是一直写不出来 请高手指教!!
谢谢

<?php
function connect_db() {
$db_connect =
mysql_connect("host_name", "user_name", "password")
or die("Could not connect");
return $db_connect;
}


function open ($save_path, $session_name) {
global $db;
$db = connect_db();
return true;
}

function close() {
return true;
}

function read ($id) {
global $db;
mysql_select_db("db_name");

$result = mysql_query("SELECT *
FROM session_t
WHERE session_id='{$id}'");
if(mysql_num_rows($result) == 1){
$row = mysql_fetch_array($result);
return $row['session_data'];
} else {
return "";
}
}

function write ($id, $sess_data) {
global $db;
mysql_select_db("db_name");
$result = mysql_query("SELECT *
FROM session_t
WHERE session_id='{$id}'");
if(mysql_num_rows($result) == 1){
$result = mysql_query("UPDATE session_t
SET session_data='{$sess_data}'
WHERE session_id='{$id}'");
}else{
$date = date('Y-m-d H:i:s');
$result = mysql_query("INSERT INTO session_t
VALUES('{$id}' ,
'{$sess_data}' ,'{$date}')");
}
return true;
}

function destroy ($id) {
global $db;
mysql_select_db("db_name");
$result = mysql_query("DELETE from session_t
WHERE session_id='{$id}'");

return true;

}

function gc ($maxlife_time) {
return true;
}

session_set_save_handler
("open", "close", "read", "write", "destroy", "gc");
?>
...全文
211 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_16600561 2014-06-17
  • 打赏
  • 举报
回复
OK解决了 谢谢版主
xuzuning 2014-06-17
  • 打赏
  • 举报
回复
就等着你呢 出错是很正常的,改了就是了 不报错而又工作不正常,才是麻烦事 出错的 mysqli 函数是因为不能缺省数据库连接字 你把 $db 作为出错函数的第一个参数就可以了
qq_16600561 2014-06-16
  • 打赏
  • 举报
回复
对不起 最后的Deprecated没有 粘错了
qq_16600561 2014-06-16
  • 打赏
  • 举报
回复
>把 mysql_ 都改成 mysqli_ 版主啊~ 那么改不行啊 错误更多了!!!!! Warning: session_start(): Cannot send session cookie - headers already sent by Warning: mysqli_select_db() expects exactly 2 parameters, 1 given in Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in Warning: mysqli_query() expects at least 2 parameters, 1 given in Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in
xuzuning 2014-06-16
  • 打赏
  • 举报
回复
把 mysql_ 都改成 mysqli_

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧