C kütüphanesi - Ne yazık ki, PHP ile <= 5.2, MySQL işlevleri / sınıfları (yani mysql_*
, mysqli_*
, ve PDO
) libmysql dayanmaktadır hangi MySQL sunucusu ile iletişim için destek sağlar.
Bu kütüphaneyi kullanarak fonksiyonları bile her zaman tamsayı için, dizeleri dönmek ve sütun şamandıra - ve bu konuda yapabileceği hiçbir şey yoktur: tek çözüm üzerinde, "bildiği" bazı "haritalama katmanı" (like an ORM) sahip olmaktır her sütun olmalı ve dönüşüm bazı veriler veritabanından getirilen her zaman yapacağız türü PHP tarafı.
Not: Eğer veri ekleme konum yolu DB veri getiriliyor zaman dizeleri alırsınız gerçeği hakkında bir şey değişmez.
With PHP >= 5.3, functions that communicate with a MySQL server can use mysqlnd (MySQL Native Driver) instead of libmysql -- this has to be configured at compile-time, though.
Ve belirli koşullar altında, "yerli" veri türleri ile iletişim kurabiliyor olmak, mysqlnd sağladığı güzel şeylerden birkimlikir; bu konuda ilginç bilgiler bir çift olması gereken bu makale: PHP: New network traffic, CPU and memory savings with mysqlnd.
To makes things short :
- PHP 5.2 ile, sadece veritabanından dizeleri alırsınız; ve bazı tip-dönüşüm kendiniz yapmak zorundasınız
- PHP 5.3 ile, yerli veritiplerini alabilirsiniz - en azından bazı durumlarda.