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

मैं PHP में पूर्णांक और संख्यात्मक के रूप में MySQL से पूर्णांक और संख्यात्मक कॉलम कैसे वापस कर सकता हूं?

समाधान यह सुनिश्चित करना है कि आप mysqlnd . का उपयोग कर रहे हैं php के लिए ड्राइवर।

आप कैसे जानते हैं कि आप mysqlnd का उपयोग नहीं कर रहे हैं?

php -i देखते समय , वहाँ नहीं . होगा "mysqlnd" का उल्लेख। pdo_mysql अनुभाग में कुछ इस तरह होगा:

pdo_mysql

PDO Driver for MySQL => enabled Client API version => 5.1.72

आप इसे कैसे स्थापित करते हैं?

एल/ए/एम/पी के लिए अधिकांश इंस्टॉलेशन गाइड apt-get install php5-mysql का सुझाव देते हैं लेकिन MySQL के लिए मूल ड्राइवर एक अलग पैकेज द्वारा स्थापित किया गया है:php5-mysqlnd . मैंने पाया कि यह ppa:ondrej/php5-oldstable के साथ उपलब्ध था ।

नए ड्राइवर पर स्विच करने के लिए (उबंटू पर):

  • पुराने ड्राइवर को हटाएं:
    apt-get remove php5-mysql
  • नया ड्राइवर स्थापित करें:
    apt-get install php5-mysqlnd
  • apache2 को पुनरारंभ करें:
    service apache2 restart

मैं कैसे जांच सकता हूं कि ड्राइवर का उपयोग किया जा रहा है?

अब php -i pdo_mysql . में स्पष्ट रूप से "mysqlnd" का उल्लेख करेगा अनुभाग:

pdo_mysql

PDO Driver for MySQL => enabled
Client API version => mysqlnd 5.0.10 - 20111026 - $Id:      e707c415db32080b3752b232487a435ee0372157 $

पीडीओ सेटिंग

सुनिश्चित करें कि PDO::ATTR_EMULATE_PREPARES false है (अपने डिफ़ॉल्ट जांचें या इसे सेट करें):
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

सुनिश्चित करें कि PDO::ATTR_STRINGIFY_FETCHES false है (अपने डिफ़ॉल्ट जांचें या इसे सेट करें):
$pdo->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);

लौटाए गए मान

  • फ़्लोटिंग-पॉइंट प्रकार (फ़्लोट, डबल) PHP फ़्लोट के रूप में लौटाए जाते हैं।
  • पूर्णांक प्रकार (INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT †) PHP पूर्णांक के रूप में लौटाए जाते हैं।
  • फिक्स्ड-पॉइंट प्रकार (DECIMAL, NUMERIC) स्ट्रिंग के रूप में लौटाए जाते हैं।

† 64 बिट हस्ताक्षरित int (9223372036854775807) से अधिक मान वाले BIGINTs एक स्ट्रिंग (या 32 बिट सिस्टम पर 32 बिट) के रूप में वापस आएंगे

    object(stdClass)[915]
      public 'integer_col' => int 1
      public 'double_col' => float 1.55
      public 'float_col' => float 1.5
      public 'decimal_col' => string '1.20' (length=4)
      public 'bigint_col' => string '18446744073709551615' (length=20)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP - एक लॉगिन सिस्टम के साथ सुरक्षित सदस्य-केवल पृष्ठ

  2. गैलेरा क्लस्टर संसाधन

  3. MySQL में किसी अन्य तालिका में मौजूद पंक्तियों को कैसे दिखाएं?

  4. MySQL कॉलम जोड़ें

  5. MySQL #1140 - ग्रुप कॉलम का मिश्रण