Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

ज़ेंड फ्रेमवर्क का उपयोग करके डीबी से एक इंटीजर प्राप्त करना एक स्ट्रिंग के रूप में मान देता है

मैंने बहुत सारे Zend_Db . को लागू किया है Zend फ्रेमवर्क में कोड।

जैसा कि अन्य ने कहा है, इसका कारण Zend_Db . है देशी PHP पूर्णांकों या फ़्लोट्स के बजाय स्ट्रिंग्स लौटाता है कि PHP के डेटाबेस एक्सटेंशन स्ट्रिंग्स लौटाते हैं। और इसका कारण यह है कि कुछ डेटाबेस प्रकार का प्रतिनिधित्व करने के लिए कोई मूल PHP प्रकार नहीं हो सकता है।

उदाहरण के लिए, MySQL का BIGINT एक 64-बिट हस्ताक्षरित पूर्णांक है। डिफ़ॉल्ट रूप से, PHP int प्रकार 32-बिट मानों तक सीमित है, इसलिए यदि आप डेटाबेस से डेटा प्राप्त करते हैं और इसे परोक्ष रूप से int में परिवर्तित करते हैं , कुछ मानों को छोटा किया जा सकता है। float . के लिए इसी तरह के और भी कई मामले हैं और तिथियां, आदि।

सभी डेटा प्रकारों के लिए स्ट्रिंग प्रस्तुति का उपयोग करना सरल और सुसंगत रहने का सबसे अच्छा तरीका है, डेटा हानि से बचने के बारे में सुरक्षित रहें, और डेटा प्रकार मैपिंग करने के लिए बहुत सारे विक्रेता-विशिष्ट विशेष-केस कोड लिखने से बचें। उस अतिरिक्त कोड पर प्रदर्शन दंड भी लगेगा।

इसलिए यदि आपके पास विशिष्ट मामले हैं जहां आपको मूल PHP डेटा प्रकारों में मैप करने के लिए डेटाबेस परिणामों की आवश्यकता है, तो आपको इसे अपने एप्लिकेशन कोड में स्वयं लागू करना चाहिए (उदाहरण के लिए कस्टम Zend_Db_Table_Row में) कक्षा)।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. शामिल होने के साथ पारस्परिक मित्र sql (Mysql)

  2. mysql OR . के साथ IF स्टेटमेंट चुनें

  3. MySQL के अनुरूप कोई परिणाम न होने पर भी गिनती कैसे प्राप्त करें?

  4. घातक त्रुटि:अपरिभाषित फ़ंक्शन पर कॉल करें mysql_connect ()

  5. मैं एक फ़ील्ड को दूसरे की तुलना में अधिक 'मूल्यवान' बनाने के लिए MySQL पूर्ण टेक्स्ट खोज प्रासंगिकता में कैसे हेरफेर कर सकता हूं?