2011-12-07 22 views
5

PHP के लिए mysqli एक्सटेंशन के साथ, परिणामस्वरूप orgname और orgtable के माध्यम से कॉलम और तालिकाओं के लिए मूल (अप्रयुक्त) नाम प्राप्त करने के लिए मैं fetch_field() विधि का उपयोग कर सकता हूं। पीडीओ विधि getColumnMeta() प्रदान करता है, लेकिन मूल तालिका और कॉलम नामों के बारे में कोई जानकारी प्रदान नहीं करता है; यह केवल उपनाम देता है।पीडीओ का उपयोग करते समय मूल तालिका/कॉलम नाम कैसे प्राप्त करें?

क्या पीडीओ के साथ यह जानकारी प्राप्त करने के कोई विकल्प हैं? मैं एसक्यूएल क्वेरी से जानकारी पार्स करने के बारे में सोच कर दिया गया है, लेकिन मुझे आशा है कि खूबसूरत समाधान देखते हैं ...

SELECT id AS col1, session AS col2 FROM sessions AS table1; 

PDOStatement::getColumnMeta() का उपयोग कर परिणाम:

Array 
(
    [native_type] => LONG 
    [flags] => Array 
     (
      [0] => not_null 
      [1] => primary_key 
     ) 

    [table] => table1 
    [name] => col1 
    [len] => 10 
    [precision] => 0 
    [pdo_type] => 2 
) 
Array 
(
    [native_type] => VAR_STRING 
    [flags] => Array 
     (
      [0] => not_null 
      [1] => unique_key 
     ) 

    [table] => table1 
    [name] => col2 
    [len] => 32 
    [precision] => 0 
    [pdo_type] => 2 
) 
+0

प्रलेखन के अनुसार, ['PDOStatement.getColumnMeta'] (http://php.net/PDOStatement.getColumnMeta) को कॉल करने का परिणाम एक 'टेबल' कॉलम शामिल है जिसमें" [टी] वह नाम है डेटाबेस द्वारा लौटाए गए इस कॉलम की तालिका। " क्या यह अभ्यास में आपने नहीं देखा है? – outis

+0

मैंने अपने पोस्ट में परिणाम जोड़े! –

+0

सर्वश्रेष्ठ संबंध !!! –

उत्तर

0

आप fetch विधि

उपयोग कर सकते हैं
while ($row = $stmt->fetch()) { 
     var_dump($row); 
    }