2012-08-28 17 views
9

संभव डुप्लिकेट:
Mysql Select Enum Valuesphp का उपयोग कर एक MySQL डेटाबेस में enum संभावित मान कैसे प्राप्त कर सकते हैं?

मैं Mysql में एक coloumn की स्थापना की है:

प्रकार: ENUM

Length/Values: '01','02','03','04','05','06','07','08','09','10','11','12'

मैं डीबी से उन मूल्यों को पुनर्प्राप्त करने के लिए कोशिश कर रहा हूँ:

मैं एक ही सवाल के साथ एक और पद पाया लेकिन मेरे कोड

$type = $mysqli->query("SHOW COLUMNS FROM {$tableName} WHERE Field = 'type'")->fetch_object()->Type; 
     preg_match('/^enum\((.*)\)$/', $type, $matches); 
     foreach(explode(',', $matches[1]) as $value) 
     { 
      $enum[] = trim($value, "'"); 
     } 
     return $enum; 

काम नहीं किया मैं प्रकार Text Insted ENUM

+1

[http://stackoverflow.com/questions/4644220/mysql-select-enum-values] यह नया सवाल नहीं है, एक नज़र डालें। [1]: http://stackoverflow.com/questions/4644220/mysql-select-enum-values ​​ – tijs

उत्तर

8

की आपको information_schema से जानकारी का विश्लेषण करना चाहिए। columns तालिका -

SELECT 
    column_type 
FROM 
    information_schema.columns 
WHERE 
    table_schema = 'your_schema' AND table_name = 'your_table' AND column_name = 'your_column' 

... एक और प्रश्न - enum('01','02','03') -

SELECT 
    TRIM(TRAILING ')' FROM TRIM(LEADING '(' FROM TRIM(LEADING 'enum' FROM column_type))) column_type 
FROM 
    information_schema.columns 
WHERE 
    table_schema = 'your_schema' AND table_name = 'your_table' AND column_name = 'your_column'; 

कुछ इस तरह होगा। इस स्ट्रिंग को php-application में पार्स करें।

+0

धन्यवाद !!! एक आकर्षण पसंद करता है – devmonster

+0

मूल्य '' 'जोड़ने के लिए मत भूलना जो कि MySQL में प्रत्येक enum में स्पष्ट रूप से मौजूद है। या 'शून्य', अगर क्षेत्र शून्य है। – aib

संबंधित मुद्दे