I thought about this for a long time, but I never heard an explanation.
I assume that either the MySQL C API was simply not designed to transfer data in the original type (which sounds like a design flaw), or the original mysql driver (replaced by the mysqli driver) was simply poorly designed and the mysqli driver tried to be backward compatible.
I understand that PostgreSQL types are types in PHP, for the most part .. why MySQL? Is it common practice in other languages and RDBMSes to return all values as a string?
source
share