web-dev-qa-db-ja.com

データはどのようにデータベースに保存されますか?

私はPHPとMySQLで長年の経験がありますが、WordPressのプラグインの開発を始めたばかりで、助けが必要です。

現在、私は別のプラグインに追加機能を追加するプラグインに取り組んでいます。元のプラグインによって保存されたデータを読み取り、プラグインで操作する必要があります。これまでのところは良いですが、phpMyAdminを開くと、元のプラグインテーブルに保存されているデータは次のようになります。a:2:{i:0;a:11:{s:2:"id";s:1:"1";s:7:"item_id";s:1:"1";s:4:"name";s:9:"section 1";s:5:"limit";s:1:"1";s:5:"order";s:6:"random";s:10:"difficulty";s:4:"easy";s:9:"timestamp";s:19:"2012-05-21 12:29:44";s:9: ...データを保存するためのこのメソッドはどのように呼び出され、他のプラグインでこのデータを読み取る方法についてのガイドがあります。

編集:さらにコードを散りばめた後、ここでコードを理解しています
-s:2:"id";これは、2文字の文字列-> "id"を意味します。
-s:7:"item_id";これは、7文字の文字列-> "item_id"を意味します。

-a:4:{}これは、中括弧の間に4つの引数があることを意味します。

唯一わからなかったのは、i:0;

上記の仮定は正しいですか?

ありがとう、ラディ。

3
Radi

これは直列化配列です。 PHPは、serializeおよびunserialize関数を使用することで、それらを正規の配列(または場合によってはオブジェクト)であるかのように読み取ることができます(WordPressがこれを行います)。

WordPressで必要なのは、get_option(または同等のWordPress関数呼び出しによるデータの取得)を使用して、通常どおり配列/オブジェクトを使用することです。

データベースから生のデータを編集するのは避けた方がいいでしょう。

5
William