Help Center

Troubleshooting 'Argument 1 Must Be an Instance of PDOStatement' Error

Argument 1 PDOStatement error troubleshooting, Resolving 'Must be an instance of PDOStatement' error, Troubleshooting PDOStatement argument issue 1
Print

Symptom

When performing MySQL®-intensive actions, you may see the following errors:

TypeError: Argument 1 passed to Illuminate\Database\Connection::prepared() must be an instance of PDOStatement, bool given
 
TypeError: Argument 1 passed to WHMCS\Database\MysqlCompat::setLastStatement() must be an instance of PDOStatement or null, bool 
 

These generally occur during the daily automation cron tasks, when importing TLDs and pricing, or when syncing accounts into WHMCS from a server.

Cause

This may be due to the following causes:

  • The Module Log is enabled and the system is logging a large amount of data to the MySQL database.
  • The wait_timeout and interactive_timeout variables in the MySQL server configuration are too low to complete the request.

Solutions

Disable the Module Log

We recommend disabling the Module Log unless you are actively troubleshooting a module-related issue. We also recommend using the the default values for the wait_timeout and interactive_timeout variables in the MySQL server configuration.

To disable the Module Log:

1. Go to Configuration > System Logs.

2. Click Module Log in the left-side menu.

Module Log

3. Click Disable Debug Logging.

Correct the MySQL Server Configuration

For assistance with this change, contact your hosting provider or system administrator.

To update the wait_timeout and interactive_timeout values to use their defaults:

1. Open your MySQL server's /etc/mysql/my.cnf file.

2. Find the wait_timeout and interactive_timeout values:

[mysqld]
wait_timeout=28800
interactive_timeout=28800
 

3. Set both values to 28800 if they do not already use this value. For more information, see MySQL's wait_timeout and interactive_timeout documentation.

4. Save the changes to the file.

5. Restart your MySQL server by running the following command:

service mysql restart
 

The End! should you have any inquiries, we encourage you to reach out to the Vercaa Support Center without hesitation.

 


Was this answer helpful?

Still need a hand?

Our support team is on standby if this article didn't fully answer your question.

« Back