MySQL 5.0.3, yeni bir alan türü daha doğru ile sabit-nokta matematik desteklemek için piyasaya sürüldü. Bu yeni alan türü bir sayısal değer 246 ile MySQL protokol tanımlanır.
Eğer MySQL sunucusu çalıştıran 5.0.x veya daha yüksek olması, ve NUMERIC
veya DECIMAL
kullanırsanız, MySQL kullanılan DECIMAL
alan türü ile uyumsuz 4.x istemcisi.
http://dev.mysql.com/doc/refman/5.0/en/upgrading-from-previous-series.html diyor ki:
MySQL 5.0 sunucusunun DECIMAL
veri türünde yeni bir uygulama olduğundan sunucu hala MySQL 4.1 istemci kütüphaneleri karşı bağlantılı eski müşterileri tarafından kullanılması halinde, bir sorun oluşabilir. Bir istemci, sayısal değerler içeren bir sonuç kümesi oluşturmak hazırlanmış deyimleri yürütmek için ikili istemci / sunucu protokolünü kullanıyorsa, bir hata ortaya olacak: 'Using unsupported buffer type: 246'
4.1 istemci kütüphaneleri 5.0 ile eklenen yeni MYSQL_TYPE_NEWDECIMAL
türü değeri desteklemediği için bu hata oluşur. Sunucu tarafında yeni DECIMAL
veri türünü devre dışı bırakmak için bir yolu yoktur. MySQL 5.0 'dan istemci kütüphaneleri ile uygulamayı relinking sorunu önleyebilirsiniz.
Ayrıca bkz: http://bugs.php.net/bug.php?id=35536
Siz PHP, MySQL istemci kütüphanesi yükselterek bu sorunu çözmek gerekir. PHP yeniden, yoksa sadece yeni bir MySQL istemci ikili bırakın ya.
En iyisi aslında beni şaşırtan yeni mysqlnd library, which gives you a lot of benefits to performance and functionality. That library is included in the source distribution of PHP 5.3 and later. It states in the FAQ that it requires PHP 5.3, kullanmak olacaktır, ama derler.