2011-05-13 128 views
0

我有以下代碼:捕捉PHP錯誤從SMTP

if($result = $this->Email->peopleFollowingEmail($follow['User']['email'], $viewer['User']['fname'].' '.$viewer['User']['lname'], $viewer['User']['username'])) 
{ 
    $pf_model->id = $id; 
    $pf_model->saveField('sent_email', 1); 
} 
else 
{ 
    $pf_model->id = $id; 
    $pf_model->saveField('email_error', $result); 
} 

Email函數或者將返回true或返回$errMessage

如何將錯誤消息存儲在我的數據庫中?我認爲我的$result = ...是錯誤的。

+0

什麼電子郵件功能?任何錯誤?你爲什麼認爲這是錯的?請提供更多信息:)例如,我們沒有可能在不知道'$ pf_model'看起來像什麼的情況下,代碼是錯誤的「 – Znarkus 2011-05-13 08:38:46

回答

2

嘗試,

$result = $this->Email->peopleFollowingEmail($follow['User']['email'], $viewer['User']['fname'].' '.$viewer['User']['lname'], $viewer['User']['username']); 
if($result === true) 
{ 
    $pf_model->id = $id; 
    $pf_model->saveField('sent_email', 1); 
} 
else 
{ 
    $pf_model->id = $id; 
    $pf_model->saveField('email_error', $result); 
} 
+0

它與OP代碼相同,除」true「以外不會被視爲錯誤。 – Dani 2011-05-13 08:39:01

+0

對不起,OP是什麼意思? – roirodriguez 2011-05-13 08:43:17

+0

原始海報,發佈問題的人 – Dani 2011-05-13 08:45:35

0

如果返回錯誤信息,這是你正在做的是正確的字符串。如果它不是一個字符串,則需要在將其傳遞到數據庫之前序列化它,然後使用serialize($result)unserialize($value)來讀取它。