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’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 つです。
何が問題なのですか?
ありがとうございました