2016-07-27 31 views
2

我收到一個關於不能序列化一個PDO實例的錯誤,但我不知道這意味着什麼,谷歌搜索沒有幫助我理解。我建立一個PostgreSQL的「ON CONFLICT」類型語句,然後我做的:無法序列化與PDO

Internal Server Error: You cannot serialize or unserialize PDOStatement instances

$db = new PDO(...); 
$db->query("SET NAMES 'utf8'"); 
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

$sql = 'INSERT INTO ... ON CONFLICT ... DO UPDATE ...'; 
$params = array_merge(array1, array2); 
$st = $db->prepare($query); 
$st->execute($params); 

回答

0

我會做這樣insted的的衝突,插入....對重複鍵更新...如果我正確理解問題。

+0

不,這是postgres內置到語言中的UPSERT。但問題不在於SQL無效,而是PDO本身無法序列化它的錯誤。 – Gargoyle

1

好吧,我只是想通了。我錯誤地做了execute調用的返回,因此它試圖序列化它。刪除退貨確定了我的問題。