我发现了这个很棒的函数,可以将 MySQL 查询转换为 XML 页面,它看起来正是我需要的。唯一的问题是它使用 MySQL,但不再支持它,结果发现其中一个使用的函数不在 MySQLi 中。有谁知道 mysql_field_name
的替代方案?
这是我找到的函数
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);
最佳答案
有很多方法可以做到,我想最相似的是:
$fieldName = mysqli_fetch_field_direct($result, $i)->name;
http://www.php.net/manual/en/mysqli-result.fetch-field-direct.php
关于php - 替代 mysqli 中的 mysql_field_name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18951467/