私は自分のセッションをMySQLデータベースに保存します。セッションデータは直列化され、DBセルに格納されます。データベースにシリアル化されたオブジェクトストアが部分的に
問題は次のとおりです。シリアル化されたオブジェクトが一部だけデータベースに取り込まれます。 クエリ文字列をエコーしてコピーし、phpMyAdmin->データベースクエリに貼り付けて、データベースに完全に取得する必要があります。 "echo mysql_error"はエラーを表示しません。 エンコーディングが理由ではなく、厳密に宣言しています。 ここに私が使用しているコードがあります。
$sql = "UPDATE sessions
SET SESSION_ID='$id', ACCESS='$access', DATA='".stripslashes($data)."', USER_ID='$username' WHERE SESSION_ID = '$id'";
echo("<br>".$sql."<br>");
return mysql_query($sql, $_sess_db);
echo mysql_error($_sess_db);
どのように修正できますか? phpmyadminにコピー&ペーストすると同じクエリがうまく動作するのですが、mysql_query関数を使って実行するとうまくいかないのはなぜですか?
で呼び出されていないされることを前提としています。すべてのデータがシリアル化されていますか?そして、正常にシリアル化されていませんか?私は問題がMySQLから来るとは思わない。セッションをプレーンなファイルに保存しようとしましたか?あなたは同じ問題を抱えていますか? –
1.エコーされた文字列を投稿できますか?これは恐らくこれを引き起こしているでしょう... 2.すべてのデータがシリアライズされたときに –
の前に戻るため、Mysql_errorは使用されません。私はそれをunserializeしない、私はphpMyAdmin経由でデータベースを見て、オブジェクトが完全であるかどうかを確認します。同じオブジェクトを持つプレーンファイルのセッションは正常に動作します – user1010936