2016-05-16 114 views
-1

我需要將其中一個表格字段作爲數組插入。所以我定義的函數的輸入轉換成數組是這樣的:使用PDO bindValue將數組插入到數據庫

function ConvertToArray($input){ 
    if(is_array($input)) // for input array type 
     return $input ; 
    else if(!isset($input) || $input == 'undefined' || ($input == "" && $input !==0) || $input == '""' || $input == "''"){ // for empty input 
     $arr = array(); 
     return $arr ; 
    } 
    else{ // for string input 
     $newarr = array(); 
     array_push($newarr, $input); 
     return $newarr ; 
    } 
} 

的話,我想將它插入與PDO的數據庫,但綁定的值時,我有一個錯誤說:

陣列字符串轉換錯誤

這是我的代碼:

$usageType = $this -> ConvertToArray($values['UsageType']); 
$prepared->bindValue(':UsageType', $usageType); // here is the error 

任何想法如何解決我的問題?謝謝!

+1

爲什麼不序列化值並插入它 –

+1

你到底要如何將數組存儲到數據庫字段?你必須序列化它,轉換成JSON或你喜歡的任何字符串格式。 – TheDrot

+0

感謝@NirojAdhikary爲您的快速響應,我沒有任何關於將數組存儲在數據庫中的想法,序列化解決了我的問題。 – user2685815

回答

0

要將數組存儲在數據庫中,請使用serialize()或根據您的方便將其轉換爲json。

$prepared->bindValue(':UsageType', serialize($usageType)); 
+0

謝謝,解決了... – user2685815