我正在尝试将群组Feed从facebook保存到我的sql-database。我正在使用wordpress cms。问题是我无法保存从facebook获得的序列化数据。
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 :(得分:1)
varchar类型只能存储255个字符。您必须使用基于字符的longtext或其他一些数据类型。
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
请注意,列中可存储的字符数取决于字符编码。