mysqli

2013-09-23 8 views
6

में mysql_field_name के विकल्प के लिए, इसलिए मुझे यह शानदार फ़ंक्शन मिला जो mysql क्वेरी को XML पृष्ठ में परिवर्तित करता है, और ऐसा लगता है कि मुझे वास्तव में क्या चाहिए। एकमात्र समस्या यह है कि यह mysql का उपयोग करता है, लेकिन अब यह समर्थित नहीं है, और यह पता चला है कि इस्तेमाल किए गए कार्यों में से एक mysqli में नहीं है। क्या किसी को mysql_field_name के विकल्प के बारे में पता है?mysqli

यहाँ समारोह है कि मैं

function sqlToXml($queryResult, $rootElementName, $childElementName) 
{ 
$xmlData = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>\n"; 
$xmlData .= "<" . $rootElementName . ">"; 

while($record = mysql_fetch_object($queryResult)) 
{ 
    /* Create the first child element */ 
    $xmlData .= "<" . $childElementName . ">"; 

    for ($i = 0; $i < mysql_num_fields($queryResult); $i++) 
    { 
     $fieldName = mysql_field_name($queryResult, $i); 

     /* The child will take the name of the table column */ 
     $xmlData .= "<" . $fieldName . ">"; 

     /* We set empty columns with NULL, or you could set 
      it to '0' or a blank. */ 
     if(!empty($record->$fieldName)) 
      $xmlData .= $record->$fieldName; 
     else 
      $xmlData .= "null"; 

     $xmlData .= "</" . $fieldName . ">"; 
    } 
    $xmlData .= "</" . $childElementName . ">"; 
} 
$xmlData .= "</" . $rootElementName . ">"; 

return $xmlData; 
} 

पाया सवाल में भाग के साथ है

$fieldName = mysql_field_name($queryResult, $i); 

धन्यवाद

माइक है

+0

आप [mysqli_fetch_fields()] (http://in2.php.net/manual/en/mysqli-result.fetch-fields.php) या [mysqli_fetch_field()] (उपयोग कर सकते हैं http://in2.php.net/manual/en/mysqli-result.fetch-field.php) – bansi

+0

क्या होगा यदि मुझे फ़ील्ड का नाम नहीं पता – user1685192

+0

'mysqli_fetch_fields()' फ़ील्ड की एक सरणी देता है – bansi

उत्तर

18

इसके, मुझे लगता है ऐसा करने के लिए कई तरीके हैं सबसे समान होगा:

$fieldName = mysqli_fetch_field_direct($result, $i)->name; 

http://www.php.net/manual/en/mysqli-result.fetch-field-direct.php

+0

क्या होगा यदि मैं क्षेत्र का नाम नहीं जानते? – user1685192

+0

आपको केवल $ परिणाम और $ i की आवश्यकता है, जहां $ i कॉलम की संख्या है (mysql_field_name में जैसा)। – trakos

+0

फिर -> नाम क्या करता है? – user1685192