Symptoms
When activating Prime Mover plugin (since version 1.8.3) – plugin is deactivated automatically with an error mysqli_stmt_get_result()
function is missing:
Causes
Your server disabled this function or this function is not available in your current PHP version or installation.
Why this is needed?
Since Prime Mover 1.8.3 – some legacy SQL queries are rewritten to use prepared statements. This is done to enhance security of existing MySQL queries. mysqli_stmt_get_result()
is an important function to accomplish this objective.
Since Prime Mover plugin uses this function to safeguard MySQLi statements – this is now a required function for plugin activation. It is not currently possible to have this plugin activated without this function enabled in your server.
Most servers tested already included this function. But if this is somewhat disabled – you should at least request this to your hosting company to have it enabled.
Workaround
There are many workarounds, it is suggested to try this one by one to see what works for you:
- If you are using PHP 5.6, try upgrading your PHP version to at least PHP 7.4 or PHP 8.0+. This is because this function is not available in older PHP versions. Try upgrading your PHP version to see if it works.
- If upgrading PHP version does not work – please open a ticket to your web hosting support requesting this function to be enabled. In most cases – this request should be granted and fixed by your web hosting support.
What if workaround does not work?
- If workaround does not work and you really need to use Prime Mover to restore your package – downgrade your Prime Mover version to 1.8.2. This function is not yet checked on this version. Once you have activated version 1.8.2 – you should be able to restore your package. Take note that this version 1.8.2 is now outdated – you should take this as temporary solution only.
- As a last resort – if you need to use Prime Mover and your host cannot support this function – you can try switching web host that supports this PHP function. You should do this for security reasons.