पहले अपने अंतिम प्रश्न का उत्तर देने के लिए, "हां," दुर्भाग्य से संख्याओं को स्ट्रिंग के रूप में प्राप्त करना सामान्य है। जैसा कि पास्कल द्वारा उद्धृत मैनुअल कहता है, mysqlnd (PHP 5.3) तैयार किए गए कथनों से मूल डेटा प्रकार लौटाएगा, बशर्ते आप PDO से तैयार कथन अनुकरण को बंद कर दें।
new PDO($dsn, $user, $pass, array(
PDO::ATTR_EMULATE_PREPARES => false
))
PDO::ATTR_STRINGIFY_FETCHES MySQL से असंबंधित है।
यदि आप उज्ज्वल पक्ष को देखें, तो वैसे भी तैयार कथनों का उपयोग करना अच्छा अभ्यास है, इसलिए...;)