Friday, December 13, 2013

MySQL Stop PHP Script due to Column Not Exist


Few days ago I ported a php web application from a linux to a Windows based server. During testing, the script stop when a new item supposed to be added into the database.

I started to troubleshoot with the nginx and php, but no luck. I also tried replaced nginx with apache also no luck. After a series of testing, I noticed it is related to MySQL.

It is because, by default, on a linux MySQL, the SQL model is not set to "STRICT_TRANS_TABLES" which caused the process will stop when MySQL server cannot find the specified column in table.

Of course, the correct way to fix the issue permanently is to check the php script line-by-line to ensure no such error. However, the quick fix is to remove the "STRICT_TRANS_TABLES" in MySQL setting file: my.ini.

I searched all over google to with these keywords but no luck for 2 days: php script hang or stop, apache vs nginx php script hang or stop, php setting ignore error, apache setting ignore error, MySQL ignore error

:: aerobrainTech ::