I’m typing this from my iPhone, so I’ll provide one example and a terse explanation.
This is PHP. You can’t pass this “as is” to MySQL. Hence, the error message.
'ALTER TABLE `'. Piwik::prefixTable('log_visit') .'`
ADD `config_java` TINYINT(1) NOT NULL AFTER `config_flash`' => '1060',
Assuming your table prefix is “piwik_”, the above would become the following SQL:
ALTER TABLE `piwik_log_visit` ADD `config_java` TINYINT(1) NOT NULL AFTER `config_flash`;
The ‘1060’ at the end is a MySQL error code representing an error condition that we can ignore. Any other error requires investigation.
If no error code appears (ie it instead says ‘false’), then the query is mandatory – failure is unacceptable.
If you run into a privilege issue, contact your hosting provider to either run the sql for you, or to grant you the privileges required.