1

API から json コンテンツを受け取り、変更せずに mysql longtext フィールドに挿入する codeigniter コントローラーがあります。しばらくの間、すべてが順調に進んでいましたが、最近、一部のコンテンツが切り捨てられていることに気付きました。2 つの例を次に示します。

挿入されるテーブルには 3 つのフィールドがあります

id int 
data longtext 
date_added datetime

データを受信し、アクティブ レコード挿入機能を使用してデータベースに直接追加しています。そのように見えます

$this->db->insert('received', array('data' => $data, 'date_added' => date('Y-m-d H:i:s')));

プロファイラーを使用してクエリを監視し、2 つの問題のあるクエリを見つけました。

INSERT INTO `received` (`data`, `date_added`) VALUES ('{\"status\":{\"lastMaintenanceAt\":0000,\"code\":304,\"period\":900},\"items\":[{\"permalinkUrl\":\"http://example.com\",\"updated\":0000,\"postedTime\":0000,\"summary\":\"Man\'s guarantees are like his words.\",\"title\":\"By: John\",\"content\":\"<p>Man&#8217;s guarantees are like his words.</p>\",\"id\":\"http://example.com\",\"actor\":{\"permalinkUrl\":\"\",\"displayName\":\"John\"}}],\"title\":\"Comments on: Banker refuses to give ‘Written Guarantee’\"}', '2012-04-08 00:28:29')

INSERT INTO `received` (`data`, `date_added`) VALUES ('{\"status\":{\"code\":304,\"period\":900,\"feed\":\"http://example.com\"},\"items\":[],\"title\":\"Comments on: Making her cry…\"}', '2012-04-08 00:49:35') 

クエリは問題ないようです。ただし、最初のケースでは、JSON の一部のみがテーブルに作成されてい"[...] refuses to give"ますmaking her cry

クエリはエラーを返さず、日付は正しく挿入されています。さらに、クエリをコピーして mysql コマンド プロンプトで実行すると、全文が挿入されます。これらのクエリは、数百の他の成功したクエリのうちの 1 つです。

何が問題なのですか?

ありがとうございました

4

1 に答える 1

2
于 2012-04-08T21:46:03.637 に答える