0

データベースのこのエントリからデータの各ブロックを取得する正しい方法は何ですか?

wordpressのカスタムコンタクトフォームと呼ばれるプラグインをカスタマイズしています。基本的に、受信した各メールに対して、次の形式でデータベースに新しいエントリが作成されます。

s:8:"enq_name";s:3:"ICE";s:9:"enq_email";s:23:"xvxvxv@hotmail.com";s:9:"enq_phone";s:10:"9191919191";s:11:"enq_message";s:74:"bla bla bla bla and more bla bla bla";s:10:"enq_footer";s:288:"This message has been set to you by my";

メッセージなどの個々の値を取得するにはどうすればよいですかenq_message

質問のタイトルに記載されているいずれかまたは両方の方法が間違っている場合はお詫び申し上げます。これを行う方法がわかりません:(

前もって感謝します

編集: fulhackのおかげで、私はこれを手に入れました...

$query = "SELECT * FROM `$table_name` WHERE `data_formid` = $ff ORDER BY `$table_name`.`id` ASC LIMIT 0, 5";     
$result = mysql_query($query) or die(mysql_error());
    while($row = mysql_fetch_array($result)){
    echo $myDate = date( 'd/M/Y', $row['data_time'] );
    $string = $row['data_value'];

    $serialized = $string;
    $unserialized = unserialize($serialized);
    $theValue = $unserialized['enq_email'];

    echo $theValue;
    }

しかし、データベースにはエントリがあるため、これは「e」またはより正確な「eeeee」のみをエコーし​​ます。

4

1 に答える 1

2

unserialize() ( http://www.php.net/manual/en/function.unserialize.php ) を使用してみてから、キー (このenq_message場合) を使用して、探している値を取得します。

編集: PHP インストールにアクセスできませんが、これでうまくいくと思います:

$serialized = serialize(array("key" => "value")); // This is the data you supplied
$unserialized = unserialize($serialized);
$theValue = $unserialized["key"];

ただし、おそらくエラーチェックを追加する必要があります。

于 2012-05-20T10:31:14.590 に答える