2016-08-29 1 views
0

my sql-database로 그룹 피드를 저장하려고합니다. 나는 wordpress cms를 사용하고있다. 문제는 페이스 북에서 얻은 일련 번호가 지정된 데이터를 저장할 수 없다는 것입니다.직렬화 된 데이터를 워드 프레스 데이터베이스에 저장할 수 없습니다.

require_once __DIR__. '/Facebook/autoload.php'; 
    /*API details */ 
    $response = $fb->get('/xxxxxxxx/feed?fields=type,description,story&limit=1', 
    $fb->getApp()->getAccessToken() 
    ); 
     $decoded = $response->getDecodedBody(); // because for me it is a better parsable format than a json feed. 
     $string_data = serialize($decoded); 
     //$string_data = serialize('lorem'); 

     ##### INSERT THE DATA INTO WORDPRESS 
     global $wpdb; 
     $wpdb->insert('groupFeed', 
        array( 
         'data' => $string_data, 
         'timestamp' => time() 
        ) 
       ); 

데이터 열은 비어 있습니다. 그러나 $string_data = serialize('lorem')을 시도하면 wordpress는 s:5:"lorem";으로 저장할 수 있습니다. 여기서 문제가 뭐라고 생각하니?


다음은 var_dump ($ string_data)의 결과 예입니다.

string(1397) "a:2:{s:4:"data";a:1:{i:0;a:5: s:4:"type";s:6:"status";s:12:"created_time.. 
+0

DB에서 작성한 필드의 데이터 유형은 text/ – Dharmendra

+0

이어야합니다. 유형이 varchar이고 길이가 255 인 경우 문제가 발생한 경우 어떻게 테스트 문자열이 저장됩니까? – gurung

+0

아래의 답변에 따라 중간 텍스트 또는 긴 텍스트를 사용할 수 있습니다. –

답변

1

VARCHAR를 형은 255자를 저장할 수있다. charcters를 기반으로 긴 텍스트 또는 다른 데이터 유형을 사용해야합니다. 당신의 컬럼에 저장 될 수있는 문자 수는 문자 인코딩에 따라 달라집니다

 Type | Maximum length 
-----------+------------------------------------- 
    TINYTEXT |   255 (2 8−1) bytes 
     TEXT |  65,535 (216−1) bytes = 64 KiB 
MEDIUMTEXT | 16,777,215 (224−1) bytes = 16 MiB 
    LONGTEXT | 4,294,967,295 (232−1) bytes = 4 GiB 

참고.

+0

기타 참조 : http://dev.mysql.com/doc/refman/5.7/en/string-type-overview.html –

관련 문제