PHP MySQL将gzcompressed插入BLOB列

时间:2017-03-29 14:45:17

标签: php mysql json blob

将gzCompressed JSON插入MySQL BLOB列时遇到问题。 JSON的大小非常大(约200MB)。

以下是我的表脚本:

CREATE TABLE `idb_mamfile_temp` (
  `ID` bigint(20) NOT NULL,
  `Message` blob,
  `Action` smallint(6) NOT NULL DEFAULT '1',
  `TimeStamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `InternalID` bigint(20) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`InternalID`),
  KEY `IDX_ID` (`ID`) USING BTREE,
  KEY `IDX_Action` (`Action`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=311802 DEFAULT CHARSET=latin1;

我的php脚本添加数据:

$compressedMessage = gzcompress($jsonMessage);
$sQuery = 'INSERT into idb_mamfile_temp ("ID", "MESSAGE", "ACTION") VALUES (123,' . $compressedMessage . ', 1)';
$result = $mysqli->query($sQuery);
echo $mysqli->error . "</br>";
echo print_r($mysqli->error_list, 1);
echo "</br>" . $result;

此消息将由将执行处理的Java代码读取。 MySQL抛出以下异常:

  

您的SQL语法有错误;查看与MySQL服务器版本对应的手册,以便在“ID”,“MESSAGE”,“ACTION”附近使用正确的语法。值(123,'x {s Ǚ UP 7o $ c' '在第1行

     

数组([0] =&gt;数组([errno] =&gt; 1064 [sqlstate] =&gt; 42000 [错误] =&gt;您的SQL语法有错误;请查看与您的MySQL对应的手册服务器版本,用于在'“ID”,“MESSAGE”,“ACTION”附近使用正确的语法)VALUES(123,'x {s Ǚ UP 7o $c' '在第1行))

我尝试在压缩消息周围加上单/双引号,但仍然徒劳无功。谁能指出我正确的方向?

0 个答案:

没有答案
相关问题