ホームページ  >  記事  >  バックエンド開発  >  unserialize_PHP チュートリアルに関する質問

unserialize_PHP チュートリアルに関する質問

WBOY
WBOYオリジナル
2016-07-13 17:36:33847ブラウズ

特別なコンセプト。 ',
'uid' => 'ポテトマン',
'サイト' => ',
'サイトタイプ' =>
'前回' => 1191629784、
'totleviews' => 14、
'totleblogs' => 3
);
プログラムは、magic_quotes_gpc を自動的に決定し、すべての POST および GET データ (addslashes の下) を自動的にエスケープするため、上記の配列内の $message[sitename] はデータベースに入る前にネイティブ トライブになり、mysql データベースに入るときに保存されるときに、保存されたコンテンツはまだ「Turen」族です (「mysql ライブラリにどうやって入るか」とは聞かないでください。これは mysql のエスケープ機能であり、ほとんどのデータベースもエスケープに依存しています)。これで問題はありません。時間。

このフィールドがデータベースから取得されてからシリアル化解除されるときに問題が発生します。「Turen' tribe」の値がデータベースからエスケープされていないため、シリアル化解除中に失敗します。

私はいくつかの解決策を考えました:
まず、この配列はフィールドに存在しなくなり、各キーはフィールドに独立して存在します。これは除外されており、システムはすでに実行されており、変更するのは面倒です。

2 番目に、mysql にデータを保存する前にシリアル化された配列を追加します。この時点では、mysql に保存されているデータはトライブですが、データベースはシリアル化解除後のデータがまだトライブであることを認識するため、再度実行する必要があります。配列はスラッシュを 1 つずつストリップします。

第三に、ユーザーエクスペリエンスをあきらめます:)、「/」の出現を許可しないでください。出現した場合は自動的に置き換えられます


http://www.bkjia.com/PHPjc/508223.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/508223.html技術記事特別なコンセプト。 '、'uid' = 1、'nickname' = 'ポテトマン'、'site' = ”、'sitetype' = 1、'starttime' = 1191074174、'lasttime' = 1191629784、'totleviews'...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。