ホームページ  >  記事  >  バックエンド開発  >  php5.5 session_set_save_handler データベース接続の問題

php5.5 session_set_save_handler データベース接続の問題

WBOY
WBOYオリジナル
2016-06-23 13:55:14890ブラウズ

昔からどこにコピーしたか忘れてしまいましたが、PHP5.5にアップグレードしたら使いにくくなりました
サーバーはPHP.iniを変更できませんでした。 mysqliを使って自分で書いてみましたが、まだ書けません。アドバイスをお願いします。 !
ありがとうございます
function connect_db() {
$db_connect =
mysql_connect("host_name", "user_name", "password")
or die("接続できませんでした")
return $db_connect;
}


関数 open ($save_path, $session_name) {
グローバル $db = connect_db();
関数 close() {
return true ;

関数read($ id){global $ db; mysql_select_db( "db_name"); return $row['session_data'];
} else {
return "";
}

関数 write ($id, $sess_data ) {O Global $ db ("db_name"); = mysql_query ("Select*

Where session_id = '{$ ID}'"); Q if (mysql_num_rows ($ result) == 1){
$result = mysql_query("UPDATE session_t
WHERE session_id='{$id }'");
}else{
$date = date('Y-m-d H:i : s'); $ result = mysql_query ("Session_t に挿入
値 ('{$ ID}',
'{$ sess_data}', '{$ date}'));
}
function destroy ($id) {
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 ");
?>




ディスカッションに返信 (解決策)

すべての mysql_ を mysqli_ に変更します

>mysql_ を mysqli_ に変更します
モデレーター~ そうなると機能しません。さらにエラーが発生します !!!!!
警告: session_start(): セッション Cookie を送信できません - ヘッダーはすでに送信されています
警告: mysqli_select_db() は次のことを期待しています正確に 2 つのパラメータ、1 つは
で指定されます 警告: mysqli_num_rows() はパラメータ 1 が mysqli_result であることを予期し、null は
で指定されます 警告: mysqli_query() は少なくとも 2 つのパラメータを予期し、1 つは
で指定されます 非推奨: mys ql_connect(): mysql 拡張機能は非推奨であり、将来削除される予定です:

では代わりに mysqli または PDO を使用してください

申し訳ありませんが、最後の Deprecated は間違って貼り付けられていませんでした

お待ちしています
エラーは正常です。変更するだけです
エラーは報告されませんが、異常に動作します、問題です

mysqli関数のエラーは、データベース接続ワードをデフォルトにできないためです
エラー関数の最初のパラメータとして$dbを使用するだけで大​​丈夫です

OK解決しました モデレーターありがとうございます

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。