MySQL Error: Variable 'sql_mode' can't be set to the value of 'NO_AUTO_CREATE_USER'

3 posts by 2 authors in: Forums > CMS Builder
Last Post: May 13, 2023   (RSS)

By Dave - May 12, 2023

Hi CommonSenseDesign, 

It may be because the host upgraded the version of PHP or MySQL and you have an older version of CMSB.

For a short-term fix you can edit /lib/mysql_functions.php and search for: NO_AUTO_CREATE_USER then remove the comma (",") and NO_AUTO_CREATE_USER  from these lines: 

# set MySQL strict mode - http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html
if ($strictMode) {
  $query = "SET SESSION sql_mode = 'STRICT_ALL_TABLES,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER'";
  mysql_query($query) or die("MySQL Error: " .mysql_error(). "\n");
}
else {
  $query = "SET SESSION sql_mode = 'NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER'";
  mysql_query($query) or die("MySQL Error: " .mysql_error(). "\n");
}  

Be sure to make a backup of the file first.

And then for a more long-term solution, you could upgrade to the latest version of CMSB which supports the latest MySQL and PHP versions.

Hope that helps!  Let me know if you have any questions.

Dave Edis - Senior Developer
interactivetools.com

Thank you, Dave. I'll give this a shot.