PDOException: SQLSTATE[42000]: Syntax error or access violation
Sounds like a case of InnoDB File Format issues.
SUGGESTION #1
If you are not using innodb_file_per_table, you may need to export all the data with mysqldump, delete ibdata and ib_logilfe0 and ib_logilfe0. Then, reimport that data. I wrote a detailed step-by-step process for this 2 years ago.
SUGGESTION #2
Increase the size of your InnoDB Log Files. Each file (ib_logfile0,ib_logfile1) needs to be more than 10 times as big as the biggest BLOB in your dataset:
Here are several links discussing this scenario

https://serverfault.com/q/293406/69271
https://serverfault.com/a/3979/69271
http://www.mysqlperformanceblog.com/2008/11/21/how-to-calculate-a-good-innodb-log-file-size/
http://bugs.mysql.com/bug.php?id=39168

MySQL's maximum size of innodb_log_file_size for a log group of of 2 files is 2047M. Should you ever need InnoDB Log Files that can exceed the 4GB combined barrier, you must upgrade to Percona Server.
I also wrote a detailed step-by-step process for resizing InnoDB Log Files.
SUGGESTION #3 (OPTIONAL)
You may want to switch the innodb_file_format to Barracuda. Bill Karwin's answer in the DBA StackExchange and links thereof explains why.