2012-05-20 41 views
0

什麼是從我的數據庫的這個條目獲取每塊數據的正確方法?反序列化或數組切片?

我定製了一個名爲WordPress的自定義聯繫人形式的插件,基本上每個電子郵件收到新的條目與以下格式在數據庫上創建:

s:8:"enq_name";s:3:"ICE";s:9:"enq_email";s:23:"[email protected]";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」或更多exaclty「EEEEE」因爲是在條目數據庫。

回答

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"]; 

你或許應該增加一些錯誤檢查,但。

+0

嗨,謝謝,我剛從功能mycallback($ classname)從示例:( – user983248

+0

我加了一個例子,我將如何嘗試使用它 – Jonatan

+0

對不起,打擾你......功能內? – user983248