2017-03-27 21 views
0

之後有文本「1」。對不起,以前我的英文不好。我想問爲什麼在從我的數據庫反序列化後,數組後有一個文本「1」。看看圖片查看詳細:爲什麼在反序列化之後,在數組

my database (the data is serialized)

output of after unserialize

<div class="form-group"> 
                 <label class="control-label col-md-3">Dokumen Pendukung:</label> 
                 <div class="col-md-4"> 
                  <p class="form-control-static"> <?php echo print_r(unserialize($supportDocument)); ?> </p> 
                 </div> 
                </div> 

我必須嘗試,並檢查我的代碼,有沒有可疑代碼。請幫助我..謝謝。

public function addProposal($DocumentSupport) { 
    try { 

     $stmt = $this->connect->prepare("INSERT INTO tbl_proposal(supportDocument)VALUES(:supportDocument)"); 



     $stmt->bindParam(":supportDocument", serialize($DocumentSupport)); 


     $stmt->execute(); 
     return $stmt; 

    } catch (PDOException $e) { 
     echo "Error " . $e->getMessage(); 
    } 
} 
+3

代碼請 –

+0

歡迎來到堆棧溢出。請始終提供源代碼,錯誤消息和其他文本信息作爲內聯純文本而不是外部圖片。文本是可搜索的,可重複使用,通常更易於閱讀。 –

+0

你需要發佈你的代碼,如果我們任何人都可以幫助你...... – Stuart

回答

3

要打印的print_r()返回值:

echo print_r(unserialize($supportDocument)); 

和,如記錄,它返回true

return參數TRUE,這個函數會返回一個串。否則,返回值是TRUE

...,當converted to string,打印爲1

一個布爾TRUE值被轉換成字符串"1"。布爾FALSE是 轉換爲""(空字符串)。這允許在布爾值和字符串值之間進行轉換並返回 。

你應該擺脫echo的:

print_r(unserialize($supportDocument)); 

您還可以切換到var_dump(),產生輸出更精確(例如,它不會布爾值轉換爲空字符串):

var_dump(unserialize($supportDocument)); 
+0

非常感謝!我只是從代碼中刪除「回聲」。 –

相關問題