Problem with MySQL version?

Hi, I’m just trying to install Piwik for the first time. I installed 0.5 and then updated to 0.5.1. For both versions, I install OK and then when I login to Piwik I get errors in some of the widgets like …

Warning: mysqli_stmt::bind_result() [function.mysqli-stmt-bind-result]: Server returned unknown type 246. Probably your client library is incompatible with the server version you use! in /…/public_html/piwik/libs/Zend/Db/Statement/Mysqli.php on line 255

The error seems to appear in different widgets at different times.
My host has MySQL version 5 installed. Am I missing something basic?

[quote=uxpanda @ Dec 11 2009, 03:54 AM]Hi, I’m just trying to install Piwik for the first time. I installed 0.5 and then updated to 0.5.1. For both versions, I install OK and then when I login to Piwik I get errors in some of the widgets like …

Warning: mysqli_stmt::bind_result() [function.mysqli-stmt-bind-result]: Server returned unknown type 246. Probably your client library is incompatible with the server version you use! in /…/public_html/piwik/libs/Zend/Db/Statement/Mysqli.php on line 255

The error seems to appear in different widgets at different times.
My host has MySQL version 5 installed. Am I missing something basic?[/quote]
Looks like mysql error from your side.

Sorry, we don’t (can’t?) check for mismatched client/server libraries. Ask your hosting provider for support or try PDO_MYSQL.

I’m having the same problem. How can I solved it? What is PDO_MYSQL?
Is this a frecuently problem? What does exactly this mean? What do I have to ask to my hosting provider?
Here is the warning that repeats on an infinite column every time I try to run my stadistic from my sites…

Warning: mysqli_stmt::bind_result() [function.mysqli-stmt-bind-result]: Server returned unknown type 246. Probably your client library is incompatible with the server version you use! in /hermes/web08/b274/pow.mistiano/htdocs/estadistica/libs/Zend/Db/Statement/Mysqli.php on line 255

And line 255 is:
);

It looks like the problem is that your mysqli extension was compiled/linked against the MySQL 4.x client library, while trying to connect to a MySQL 5.x server.

This comes from: http://dev.mysql.com/doc/refman/5.0/en/upg…ous-series.html

C API Changes:

Incompatible change: Because the MySQL 5.0 server has a new implementation of the DECIMAL data type, a problem may occur if the server is used by older clients that still are linked against MySQL 4.1 client libraries. If a client uses the binary client/server protocol to execute prepared statements that generate result sets containing numeric values, an error will be raised: ‘Using unsupported buffer type: 246’

This error occurs because the 4.1 client libraries do not support the new MYSQL_TYPE_NEWDECIMAL type value added in 5.0. There is no way to disable the new DECIMAL data type on the server side. You can avoid the problem by relinking the application with the client libraries from MySQL 5.0.

Can you add this line of debug code (without the ‘+’ sign) to piwik/core/Db/Mysqli.php ? Then delete config.ini.php and re-install. The debug info will appear on the System Check screen.

Index: Mysqli.php
===================================================================
--- Mysqli.php    (revision 1735)
+++ Mysqli.php    (working copy)
@@ -120,6 +120,8 @@
      */
     public function isConnectionUTF8()
     {
+        var_dump(mysqli_get_client_info($this->_connection));
+        var_dump($this->getServerVersion());
         $charset = mysqli_character_set_name($this->_connection);
         return $charset === 'utf8';
     }

Is it possible to have a new config.ini and a new Mysqli.php - that would save me a lot of gueswork. I think I will wait for the next piwik upgrade - save messing up even further

Many thanks

Lloyd Sewell

[quote=vipsoft @ Dec 31 2009, 05:52 PM]It looks like the problem is that your mysqli extension was compiled/linked against the MySQL 4.x client library, while trying to connect to a MySQL 5.x server.

This comes from: dev.mysql.com/doc/refman/5.0/en/upg…ous-series.html

Can you add this line of debug code (without the ‘+’ sign) to piwik/core/Db/Mysqli.php ? Then delete config.ini.php and re-install. The debug info will appear on the System Check screen.

Index: Mysqli.php
===================================================================
--- Mysqli.php    (revision 1735)
+++ Mysqli.php    (working copy)
@@ -120,6 +120,8 @@
      */
     public function isConnectionUTF8()
     {
+        var_dump(mysqli_get_client_info($this->_connection));
+        var_dump($this->getServerVersion());
         $charset = mysqli_character_set_name($this->_connection);
         return $charset === 'utf8';
     }

[/quote]

[quote=vipsoft @ Dec 31 2009, 05:52 PM]It looks like the problem is that your mysqli extension was compiled/linked against the MySQL 4.x client library, while trying to connect to a MySQL 5.x server.

This comes from: dev.mysql.com/doc/refman/5.0/en/upg…ous-series.html

Can you add this line of debug code (without the ‘+’ sign) to piwik/core/Db/Mysqli.php ? Then delete config.ini.php and re-install. The debug info will appear on the System Check screen.

Index: Mysqli.php
===================================================================
--- Mysqli.php    (revision 1735)
+++ Mysqli.php    (working copy)
@@ -120,6 +120,8 @@
      */
     public function isConnectionUTF8()
     {
+        var_dump(mysqli_get_client_info($this->_connection));
+        var_dump($this->getServerVersion());
         $charset = mysqli_character_set_name($this->_connection);
         return $charset === 'utf8';
     }

[/quote]

Sorry, I don’t know how to do what you ask me to do.
I have asked to my host provider and ehis is what they answered to me:

The PHP version that we have on our platform is 5.2.2 and MySQL version is 5.0.45. Unfortunately, we don’t support pdo_mysql on our servers. This may be the issue that your application ‘Piwik’ is not working. You can check the server requirements on our platform at the URLs:
If you have any further questions, please update the Support Console.

Sincerely,

Here’s a complete script. Put it in your Piwik folder. Run it. Cut and paste the results here. Then delete the script.

Hi Vipsoft:
Thank you for the script and your interest.
Here is the result:

string(6) “4.1.11” string(6) “5.0.83”

Hope this is usefull.
Thank you.

miguelap: you can tell your admin that the mysql client library is 4.1.11 and that you’re using the php mysqli extension (not pdo_mysql). They should update the library because it is incompatible with mysql server 5.x.

Unfortunately, I have learned that it is not possible to fix this in Piwik. Either the client library must be updated, or patched and recompiled.

Ok. Thank you…I’ll tell them a see what happens.
I’ll inform you.
Thank you
style_emoticons/<#EMO_DIR#>/rolleyes.gif

[quote=vipsoft @ Jan 6 2010, 03:39 AM]miguelap: you can tell your admin that the mysql client library is 4.1.11 and that you’re using the php mysqli extension (not pdo_mysql). They should update the library because it is incompatible with mysql server 5.x.

Unfortunately, I have learned that it is not possible to fix this in Piwik. Either the client library must be updated, or patched and recompiled.[/quote]

“you can tell your admin that the mysql client library is 4.1.11 and that you’re using the php mysqli extension (not pdo_mysql). They should update the library because it is incompatible with mysql server 5.x.”

Have the very same issue and I pointed out the conflict vis-a-vis client library and server version to my host with snapshots.

They told me that the database should just work since its Mysql 5.0.83. I’m not sure they understood the conflict but…despite the pictures.

In fairness this is the first time I’ve seen any issues with the client library and server version causing issues. Then again I’m not a MySql guru…just a guy building a website.

Anyway since this issue was raised three years ago is there a fix or patch or something for PiWik yet? My host are not playing ball and I can’t afford to upgrade to a VPS at the moment and install my own compatible MySql. Or is it a case I’m just stuck and should shelve the PiWik plan and go with something else?

There is no bug in Piwik bug it is a bug in a 3 year old software. Your host should upgrade you or they are not treating you well…